Skip to content

Commit f398b49

Browse files
authored
[Usage Collection] [schema] actions (#78832)
1 parent 46af5fc commit f398b49

File tree

3 files changed

+100
-2
lines changed

3 files changed

+100
-2
lines changed

x-pack/.telemetryrc.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
"output": "plugins/telemetry_collection_xpack/schema/xpack_plugins.json",
33
"root": "plugins/",
44
"exclude": [
5-
"plugins/actions/server/usage/actions_usage_collector.ts",
65
"plugins/alerts/server/usage/alerts_usage_collector.ts",
76
"plugins/apm/server/lib/apm_telemetry/index.ts"
87
]

x-pack/plugins/actions/server/usage/actions_usage_collector.ts

Lines changed: 22 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,18 +4,39 @@
44
* you may not use this file except in compliance with the Elastic License.
55
*/
66

7-
import { UsageCollectionSetup } from 'src/plugins/usage_collection/server';
7+
import { MakeSchemaFrom, UsageCollectionSetup } from 'src/plugins/usage_collection/server';
88
import { get } from 'lodash';
99
import { TaskManagerStartContract } from '../../../task_manager/server';
1010
import { ActionsUsage } from './types';
1111

12+
const byTypeSchema: MakeSchemaFrom<ActionsUsage>['count_by_type'] = {
13+
// TODO: Find out an automated way to populate the keys or reformat these into an array (and change the Remote Telemetry indexer accordingly)
14+
DYNAMIC_KEY: { type: 'long' },
15+
// Known actions:
16+
__email: { type: 'long' },
17+
__index: { type: 'long' },
18+
__pagerduty: { type: 'long' },
19+
'__server-log': { type: 'long' },
20+
__slack: { type: 'long' },
21+
__webhook: { type: 'long' },
22+
__servicenow: { type: 'long' },
23+
__jira: { type: 'long' },
24+
__resilient: { type: 'long' },
25+
};
26+
1227
export function createActionsUsageCollector(
1328
usageCollection: UsageCollectionSetup,
1429
taskManager: TaskManagerStartContract
1530
) {
1631
return usageCollection.makeUsageCollector<ActionsUsage>({
1732
type: 'actions',
1833
isReady: () => true,
34+
schema: {
35+
count_total: { type: 'long' },
36+
count_active_total: { type: 'long' },
37+
count_by_type: byTypeSchema,
38+
count_active_by_type: byTypeSchema,
39+
},
1940
fetch: async () => {
2041
try {
2142
const doc = await getLatestTaskState(await taskManager);

x-pack/plugins/telemetry_collection_xpack/schema/xpack_plugins.json

Lines changed: 78 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,83 @@
11
{
22
"properties": {
3+
"actions": {
4+
"properties": {
5+
"count_total": {
6+
"type": "long"
7+
},
8+
"count_active_total": {
9+
"type": "long"
10+
},
11+
"count_by_type": {
12+
"properties": {
13+
"DYNAMIC_KEY": {
14+
"type": "long"
15+
},
16+
"__email": {
17+
"type": "long"
18+
},
19+
"__index": {
20+
"type": "long"
21+
},
22+
"__pagerduty": {
23+
"type": "long"
24+
},
25+
"__server-log": {
26+
"type": "long"
27+
},
28+
"__slack": {
29+
"type": "long"
30+
},
31+
"__webhook": {
32+
"type": "long"
33+
},
34+
"__servicenow": {
35+
"type": "long"
36+
},
37+
"__jira": {
38+
"type": "long"
39+
},
40+
"__resilient": {
41+
"type": "long"
42+
}
43+
}
44+
},
45+
"count_active_by_type": {
46+
"properties": {
47+
"DYNAMIC_KEY": {
48+
"type": "long"
49+
},
50+
"__email": {
51+
"type": "long"
52+
},
53+
"__index": {
54+
"type": "long"
55+
},
56+
"__pagerduty": {
57+
"type": "long"
58+
},
59+
"__server-log": {
60+
"type": "long"
61+
},
62+
"__slack": {
63+
"type": "long"
64+
},
65+
"__webhook": {
66+
"type": "long"
67+
},
68+
"__servicenow": {
69+
"type": "long"
70+
},
71+
"__jira": {
72+
"type": "long"
73+
},
74+
"__resilient": {
75+
"type": "long"
76+
}
77+
}
78+
}
79+
}
80+
},
381
"canvas": {
482
"properties": {
583
"workpads": {

0 commit comments

Comments
 (0)