ITOTEAM-523 A app não redireciona as notificações

This commit is contained in:
Peter Maquiran
2024-06-25 12:11:44 +01:00
parent 76ff62d428
commit fbaf0afcf1
14 changed files with 231 additions and 186 deletions
@@ -1,67 +1,31 @@
const { DiagConsoleLogger, DiagLogLevel, diag, metrics } = require('@opentelemetry/api');
const { OTLPMetricExporter } = require('@opentelemetry/exporter-metrics-otlp-http');
const { MeterProvider, PeriodicExportingMetricReader } = require('@opentelemetry/sdk-metrics');
import { metrics } from '@opentelemetry/api';
import { OTLPMetricExporter } from '@opentelemetry/exporter-metrics-otlp-http';
import { MeterProvider, PeriodicExportingMetricReader } from '@opentelemetry/sdk-metrics';
import { environment } from 'src/environments/environment';
// Optional and only needed to see the internal diagnostic logging (during development)
// diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
// Initialize OpenTelemetry metrics
const meterProvider = new MeterProvider();
metrics.setGlobalMeterProvider(meterProvider);
let interval;
let meter;
if (window.location.protocol !== 'https:' && environment.presidential == false) {
const metricReader = new PeriodicExportingMetricReader({
exporter: new OTLPMetricExporter({
url: 'http://5-180-182-151.cloud-xip.com:4318/v1/metrics',
// headers: {
// 'Authorization': 'Basic ' + btoa('tabteste@006:tabteste@006'),
// }
}),
exportIntervalMillis: 3000,
});
// function stopMetrics() {
// console.log('STOPPING METRICS');
// clearInterval(interval);
// metrics.getMeterProvider().shutdown()
// .then(() => metrics.disable());
// }
meterProvider.addMetricReader(metricReader);
}
// function startMetrics() {
// console.log('STARTING METRICS');
export const meter = meterProvider.getMeter('example-exporter-collector');
export const RequestCounter = meter.createCounter('post_requests', {
description: 'Example of a Counter',
});
// const meterProvider = new MeterProvider();
// metrics.setGlobalMeterProvider(meterProvider);
// meterProvider.addMetricReader(new PeriodicExportingMetricReader({
// exporter: new OTLPMetricExporter({
// //url: 'http://localhost:8019/collector/v1/metrics',
// // url: 'http://localhost:4318/v1/metrics',
// url: 'http://5-180-182-151.cloud-xip.com:4318/v1/metrics', // Custom port 85
// //url: 'https://5-180-182-151.cloud-xip.com:85/collector/v1/metrics', // Custom port 85
// // headers: {
// // 'Authorization': 'Basic ' + btoa('tabteste@006:tabteste@006'),
// // }
// }),
// exportIntervalMillis: 2000
// }));
// meter = meterProvider.getMeter('example-exporter-collector')
// const requestCounter = meter.createCounter('requests', {
// description: 'Example of a Counter',
// });
// const upDownCounter = meter.createUpDownCounter('test_up_down_counter', {
// description: 'Example of a UpDownCounter',
// });
// const attributes = { environment: 'staging' };
// interval = setInterval(() => {
// requestCounter.add(1, attributes);
// requestCounter.add(1, {environment: 'testing'});
// requestCounter.add(1, {environment: 'ok'});
// upDownCounter.add(Math.random() > 0.5 ? 1 : -1, attributes);
// }, 1000);
// }
// const addClickEvents = () => {
// // const startBtn = document.getElementById('startBtn');
// // const stopBtn = document.getElementById('stopBtn');
// // startBtn.addEventListener('click', startMetrics);
// // stopBtn.addEventListener('click', stopMetrics);
// // startMetrics()
// };
// // addClickEvents();
export const UseCaseCounter = meter.createCounter('use_case', {
description: 'use case counter',
});
@@ -5,6 +5,8 @@ import { OpentelemetryAgendaProvider, OpentelemetryInterceptorProvider, Opentele
import { Device, DeviceInfo } from '@capacitor/device';
import { SessionStore } from 'src/app/store/session.service';
import { environment } from 'src/environments/environment';
import { UseCaseCounter } from './matrix';
// import { context, propagation } from '@opentelemetry/api';
const tracerInstance = OpentelemetryAgendaProvider.getTracer('example-tracer-hole', '111', {})
const tracerNotificationInstance = OpentelemetryNotificationProvider.getTracer('example-tracer-hole', '111', {})
@@ -58,10 +60,16 @@ const createTracingInstance = ({bugPrint, name, module, autoFinish}): TracingTyp
data.tags[key] = value;
span.setAttribute(key, value);
},
getAttribute: (key: string) => {
return data.tags[key]
},
finish: () => {
span.end();
if(environment.presidential == false) {
span.end();
UseCaseCounter.add(1, {user: SessionStore?.user?.FullName, outcome:data.tags['outcome'], usecase: name})
}
if(bugPrint && hasBug) {
if(bugPrint && data.tags['outcome'] == 'failed') {
console.error(name, data)
}
},
@@ -92,12 +100,13 @@ export function XTracerAsync({ name, bugPrint, module = null, autoFinish = true,
tracing.setAttribute('commit.date', environment.version.lastCommitTime)
tracing.setAttribute('commit.branch', environment.version.branch)
args.push(tracing)
try {
const result = await originalMethod.apply(this, args);
if(autoFinish) {
if(autoFinish ) {
setTimeout(tracing.finish , daley)
}
@@ -167,6 +176,7 @@ export type TracingType = {
//logEvent: (name: string, attributesOrStartTime?: AttributeValue | TimeInput) => void;
addEvent: (context: string, message?: any, obj?: any) => void;
setAttribute: (key: string, value: string) => void;
getAttribute: (key: string) => string;
LocalLogEvent: (name: string, attributesOrStartTime: any, obj?:any) => void;
finish: () => void;
bugFlag:() => void;