-
Notifications
You must be signed in to change notification settings - Fork 154
Expand file tree
/
Copy pathsendTelemetry.ts
More file actions
38 lines (30 loc) · 841 Bytes
/
sendTelemetry.ts
File metadata and controls
38 lines (30 loc) · 841 Bytes
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
import axios from 'axios';
import fs from 'fs';
const packageJson = JSON.parse(fs.readFileSync('./package.json', 'utf8'));
export interface TelemetryData {
route: string;
apiVersion: string;
timestamp: Date;
}
export const sendTelemetry = async (route: string): Promise<void> => {
const enabled = process.env.TELEMETRY_ENABLED === undefined || process.env.TELEMETRY_ENABLED === 'true';
if (!enabled) {
return;
}
if (route === '/') {
return;
}
const telemetry: TelemetryData = {
route,
apiVersion: `${packageJson.version}`,
timestamp: new Date(),
};
const url =
process.env.TELEMETRY_URL && process.env.TELEMETRY_URL !== ''
? process.env.TELEMETRY_URL
: 'https://log.evolution-api.com/telemetry';
axios
.post(url, telemetry)
.then(() => {})
.catch(() => {});
};