/
usage_collection.ts
38 lines (32 loc) · 1.04 KB
/
usage_collection.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 and the Server Side Public License, v 1; you may not use this file except
* in compliance with, at your election, the Elastic License 2.0 or the Server
* Side Public License, v 1.
*/
import { FtrService } from '../ftr_provider_context';
const ANALYTICS_LOCAL_STORAGE_KEY = 'analytics';
export class UsageCollectionService extends FtrService {
private readonly browser = this.ctx.getService('browser');
public async getUICounterEvents(): Promise<
Array<{
key: string;
appName: string;
eventName: string;
type: string;
total: number;
}>
> {
try {
const rawValue = await this.browser.getLocalStorageItem(ANALYTICS_LOCAL_STORAGE_KEY);
if (rawValue) {
const { uiCounter } = JSON.parse(rawValue) ?? {};
return Object.values(uiCounter);
}
} catch (e) {
// nothing to be here
}
return [];
}
}