receive message

This commit is contained in:
Peter Maquiran
2024-08-08 15:53:00 +01:00
parent 32181caefe
commit 45e829bec3
7 changed files with 120 additions and 30 deletions
@@ -7,13 +7,11 @@ import { SessionStore } from 'src/app/store/session.service';
import { environment } from 'src/environments/environment';
import { UseCaseCounter } from './matrix';
import { openTelemetryLogging } from './logging';
// import { context, propagation } from '@opentelemetry/api';
import {
SpanStatus, SpanStatusCode
} from '@opentelemetry/api';
const tracerInstance = OpentelemetryAgendaProvider.getTracer('example-tracer-hole', '111', {})
const tracerNotificationInstance = OpentelemetryNotificationProvider.getTracer('example-tracer-hole', '111', {})
// const logger: ILoggerAdapter = new ColoredLoggerService()
let device: DeviceInfo;
@@ -58,10 +56,12 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
event: {},
tags: {},
status: {} as any,
logs:[]
logs:[],
errors: []
}
const returnObject = {
name,
span: span as any,
tracer: tracerInstance,
tracerId: requestId,
@@ -69,12 +69,10 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
setStatus: (status: SpanStatus) => {
span.setStatus(status);
},
addEvent: (context: string, message?: any, obj?: any) => {
addEvent: (context: string, message: string = "") => {
data.event[context] = message;
const value = [JSON.stringify(message)] as any
span.addEvent(context, value);
span.addEvent(context, message as any);
},
LocalLogEvent:(context: string, message: any, obj: any) => {
data.tags[context] = message;
@@ -84,7 +82,9 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
span.setAttribute(key, value);
if(key =='outcome' && value == 'failed') {
returnObject.hasError('error')
if(data.errors.length == 0) {
returnObject.hasError('error')
}
if(!autoFinish) {
returnObject.finish()
}
@@ -130,6 +130,7 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
if(finish) return
if(environment.apiURL != 'https://gdqas-api.oapr.gov.ao/api/') {
span.setAttribute('error.list', data.errors.join(','))
span.end();
UseCaseCounter.add(1, {user: SessionStore?.user?.FullName, outcome:data.tags['outcome'] || data.status?.code , usecase: name})
}
@@ -141,11 +142,9 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
finish = true
},
hasError:(message: string) => {
if(data.status?.code != SpanStatusCode.ERROR) {
data.status = {code: SpanStatusCode.ERROR, message}
span.setStatus({code: SpanStatusCode.ERROR, message})
span.setAttribute('outcome','failed')
}
data.errors.push(message)
data.status = {code: SpanStatusCode.ERROR, message}
span.setStatus({code: SpanStatusCode.ERROR, message})
},
createSpan: (name, parent?: any) => {
return tracerInstance.startSpan(name, { root: false }, parent) as Span;
@@ -239,6 +238,7 @@ export function XTracer({ name, bugPrint, module, autoFinish = true, daley =0 })
}
export type TracingType = {
name: string,
span: Span;
tracer: Tracer;
tracerId: string;