File tree Expand file tree Collapse file tree 2 files changed +28
-7
lines changed
Expand file tree Collapse file tree 2 files changed +28
-7
lines changed Original file line number Diff line number Diff line change 11import { CLIENT_METADATA } from './constants' ;
2+
23export enum ErrorCode {
34 CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED = 'CLIENT_ERROR_CODE_USAGE_LIMIT_REACHED' ,
45 CLIENT_ERROR_CODE_VALIDATION_ERROR = 'CLIENT_ERROR_CODE_VALIDATION_ERROR' ,
@@ -14,6 +15,12 @@ export enum ErrorCode {
1415export const DEFAULT_ANAM_METRICS_BASE_URL = 'https://api.anam.ai' ;
1516export const DEFAULT_ANAM_API_VERSION = '/v1' ;
1617
18+ export enum ClientMetricMeasurement {
19+ CLIENT_METRIC_MEASUREMENT_ERROR = 'client_error' ,
20+ CLIENT_METRIC_MEASUREMENT_CONNECTION_CLOSED = 'client_connection_closed' ,
21+ CLIENT_METRIC_MEASUREMENT_CONNECTION_ESTABLISHED = 'client_connection_established' ,
22+ }
23+
1724let anamCurrentBaseUrl = DEFAULT_ANAM_METRICS_BASE_URL ;
1825let anamCurrentApiVersion = DEFAULT_ANAM_API_VERSION ;
1926
@@ -94,9 +101,13 @@ export class ClientError extends Error {
94101 Object . setPrototypeOf ( this , ClientError . prototype ) ;
95102
96103 // Send error metric when error is created
97- sendErrorMetric ( 'client_error' , code , {
98- details,
99- statusCode,
100- } ) ;
104+ sendErrorMetric (
105+ ClientMetricMeasurement . CLIENT_METRIC_MEASUREMENT_ERROR ,
106+ code ,
107+ {
108+ details,
109+ statusCode,
110+ } ,
111+ ) ;
101112 }
102113}
Original file line number Diff line number Diff line change 1- import { sendErrorMetric } from '../lib/ClientError' ;
1+ import { ClientMetricMeasurement , sendErrorMetric } from '../lib/ClientError' ;
22import { AnamEvent , EventCallbacks } from '../types' ;
33
44export class PublicEventEmitter {
@@ -32,12 +32,22 @@ export class PublicEventEmitter {
3232 event : K ,
3333 ...args : EventCallbacks [ K ] extends ( ...args : infer P ) => any ? P : never
3434 ) : void {
35- if ( ! this . listeners [ event ] ) return ;
35+ if ( event === AnamEvent . CONNECTION_ESTABLISHED ) {
36+ sendErrorMetric (
37+ ClientMetricMeasurement . CLIENT_METRIC_MEASUREMENT_CONNECTION_ESTABLISHED ,
38+ '1' ,
39+ ) ;
40+ }
3641
3742 if ( event === AnamEvent . CONNECTION_CLOSED ) {
38- sendErrorMetric ( 'client_connection_closed' , args [ 0 ] as string ) ;
43+ sendErrorMetric (
44+ ClientMetricMeasurement . CLIENT_METRIC_MEASUREMENT_CONNECTION_CLOSED ,
45+ args [ 0 ] as string ,
46+ ) ;
3947 }
4048
49+ if ( ! this . listeners [ event ] ) return ;
50+
4151 ( this . listeners [ event ] as Set < EventCallbacks [ K ] > ) . forEach ( ( callback ) => {
4252 ( callback as ( ...args : any [ ] ) => void ) ( ...args ) ;
4353 } ) ;
You can’t perform that action at this time.
0 commit comments