-
Notifications
You must be signed in to change notification settings - Fork 8.3k
/
use_usage_tracker.ts
38 lines (34 loc) · 1.04 KB
/
use_usage_tracker.ts
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
/*
* Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
* or more contributor license agreements. Licensed under the Elastic License
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import { METRIC_TYPE } from '@kbn/analytics';
import { useMemo } from 'react';
import { useKibana } from './use_kibana';
const APP_TRACKER_NAME = 'search_playground';
export const useUsageTracker = () => {
const { usageCollection } = useKibana().services;
return useMemo(() => {
if (usageCollection) {
return {
click: usageCollection.reportUiCounter.bind(
usageCollection,
APP_TRACKER_NAME,
METRIC_TYPE.CLICK
),
count: usageCollection.reportUiCounter.bind(
usageCollection,
APP_TRACKER_NAME,
METRIC_TYPE.COUNT
),
load: usageCollection.reportUiCounter.bind(
usageCollection,
APP_TRACKER_NAME,
METRIC_TYPE.LOADED
),
};
}
}, [usageCollection]);
};