shared/common/modules/apm/apm.service.ts
Methods |
|
constructor(apmInstance: APM.Agent)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:8
|
||||||
Parameters :
|
Public addErrorFilter | ||||||
addErrorFilter(filter: ApmFilter)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:27
|
||||||
Parameters :
Returns :
void
|
Public addFilter | ||||||
addFilter(filter: ApmFilter)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:19
|
||||||
Parameters :
Returns :
void
|
Public addSpanFilter | ||||||
addSpanFilter(filter: ApmFilter)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:43
|
||||||
Parameters :
Returns :
void
|
Public addTransactionFilter | ||||||
addTransactionFilter(filter: ApmFilter)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:35
|
||||||
Parameters :
Returns :
void
|
Public captureError | ||||||
captureError(error: ApmError)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:51
|
||||||
Parameters :
Returns :
void
|
Public flush | ||||||
flush(callback: (err: Error) => void)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:55
|
||||||
Parameters :
Returns :
void
|
Public setCustomContext | ||||||
setCustomContext(data: LooseObject)
|
||||||
Defined in shared/common/modules/apm/apm.service.ts:75
|
||||||
Parameters :
Returns :
void
|
Public setUserContext | |||||
setUserContext(undefined: literal type)
|
|||||
Defined in shared/common/modules/apm/apm.service.ts:59
|
|||||
Parameters :
Returns :
void
|
Public startTransaction | |||||||||
startTransaction(name: string | null, type: string | null)
|
|||||||||
Defined in shared/common/modules/apm/apm.service.ts:15
|
|||||||||
Parameters :
Returns :
APM.Transaction
|
import {Inject, Injectable} from '@nestjs/common';
import {APM_INSTANCE} from './constants';
import {ApmError, ApmFilter} from './interfaces';
import * as APM from 'elastic-apm-node';
import {LooseObject} from "../../types";
@Injectable()
export class ApmService {
constructor(
@Inject(APM_INSTANCE)
protected readonly apmInstance: APM.Agent,
) {
}
public startTransaction(name: string | null, type: string | null): APM.Transaction {
return this.apmInstance.startTransaction(name, type);
}
public addFilter(filter: ApmFilter): void {
if (typeof filter === 'function') {
this.apmInstance.addFilter(filter);
} else {
this.apmInstance.addFilter(filter.filter);
}
}
public addErrorFilter(filter: ApmFilter): void {
if (typeof filter === 'function') {
this.apmInstance.addErrorFilter(filter);
} else {
this.apmInstance.addErrorFilter(filter.filter);
}
}
public addTransactionFilter(filter: ApmFilter): void {
if (typeof filter === 'function') {
this.apmInstance.addTransactionFilter(filter);
} else {
this.apmInstance.addTransactionFilter(filter.filter);
}
}
public addSpanFilter(filter: ApmFilter): void {
if (typeof filter === 'function') {
this.apmInstance.addSpanFilter(filter);
} else {
this.apmInstance.addSpanFilter(filter.filter);
}
}
public captureError(error: ApmError): void {
this.apmInstance.captureError(error);
}
public flush(callback: (err: Error) => void): void {
this.apmInstance.flush(callback);
}
public setUserContext({id, email, username}:
{
id?: string | number,
email?: string,
username?: string,
}
): void {
if (id !== undefined || email !== undefined || username !== undefined) {
this.apmInstance.setUserContext({
id,
email,
username,
});
}
}
public setCustomContext(data: LooseObject): void {
this.apmInstance.setCustomContext(data);
}
}