Slackbot
06/07/2023, 11:25 AMSrikanth Chekuri
06/07/2023, 3:52 PMAl
06/07/2023, 8:04 PMSrikanth Katti
06/08/2023, 4:21 AMSrikanth Chekuri
06/08/2023, 4:35 AMSrikanth Katti
06/08/2023, 4:42 AMSrikanth Chekuri
06/08/2023, 4:51 AMSrikanth Katti
06/08/2023, 4:52 AMregisterInstrumentations({
instrumentations: [
new WinstonInstrumentation({
enabled: true,
logHook: (_span, record) => {
record['resource.service.name'] = 'test-service';
},
}),
],
});
Srikanth Katti
06/08/2023, 4:52 AMSrikanth Chekuri
06/08/2023, 4:54 AMSrikanth Katti
06/08/2023, 4:55 AMSrikanth Katti
06/08/2023, 4:55 AMconst { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { ConsoleSpanExporter, InMemorySpanExporter, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { WinstonInstrumentation } = require('@opentelemetry/instrumentation-winston');
const memoryExporter = new InMemorySpanExporter();
const provider = new NodeTracerProvider();
provider.register();
const tracer = provider.getTracer('default');
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
registerInstrumentations({
instrumentations: [
new WinstonInstrumentation({
enabled: true,
logHook: (_span, record) => {
record['resource.service.name'] = 'test-service';
},
}),
],
});
const winston = require('winston');
global.logger = winston.createLogger({
transports: [
new winston.transports.Console(),
],
})
function main() {
tracer.startActiveSpan('main', (span) => {
<http://global.logger.info|global.logger.info>("Started the span, printing context");
<http://global.logger.info|global.logger.info>(span.spanContext());
<http://global.logger.info|global.logger.info>("In main main spanning");
require('./server.js');
});
<http://global.logger.info|global.logger.info>("Ended span in main");
}
main();
Srikanth Katti
06/08/2023, 4:55 AMSrikanth Katti
06/08/2023, 4:55 AMSrikanth Chekuri
06/08/2023, 4:56 AMwe have followed the link to get thisWhat link have you followed?
Srikanth Chekuri
06/08/2023, 4:57 AMare we missing anything?You are only enabling the logging. Please register all the instrumentation using auto-instrumentation https://signoz.io/blog/nodejs-opensource-application-monitoring/#set-up-opentelemetry-and-send-data-to-signoz
Srikanth Katti
06/08/2023, 4:58 AMSrikanth Katti
06/08/2023, 5:49 AMSrikanth Katti
06/08/2023, 5:49 AMconst { diag, DiagConsoleLogger, DiagLogLevel } = require('@opentelemetry/api');
diag.setLogger(new DiagConsoleLogger(), DiagLogLevel.DEBUG);
const { Resource } = require('@opentelemetry/resources');
const { SemanticResourceAttributes } = require('@opentelemetry/semantic-conventions');
const { getNodeAutoInstrumentations } = require('@opentelemetry/auto-instrumentations-node');
const { registerInstrumentations } = require('@opentelemetry/instrumentation');
const { ConsoleSpanExporter, InMemorySpanExporter, SimpleSpanProcessor } = require('@opentelemetry/sdk-trace-base');
const { NodeTracerProvider } = require("@opentelemetry/sdk-trace-node");
const { WinstonInstrumentation } = require('@opentelemetry/instrumentation-winston');
const memoryExporter = new InMemorySpanExporter();
const provider = new NodeTracerProvider();
provider.register(({
resource: new Resource({
[SemanticResourceAttributes.SERVICE_NAME]: 'bot-service',
}),
}));
const tracer = provider.getTracer('default');
provider.addSpanProcessor(new SimpleSpanProcessor(new ConsoleSpanExporter()));
registerInstrumentations({
instrumentations: [getNodeAutoInstrumentations()],
});
const winston = require('winston');
global.logger = winston.createLogger({
transports: [
new winston.transports.Console(),
],
})
function main() {
tracer.startActiveSpan('main', (span) => {
<http://global.logger.info|global.logger.info>("Started the span, printing context");
<http://global.logger.info|global.logger.info>(span.spanContext());
<http://global.logger.info|global.logger.info>("In main main spanning");
require('./server.js');
});
<http://global.logger.info|global.logger.info>("Ended span in main");
}
main();
Srikanth Katti
06/08/2023, 5:50 AM{
function_bot | traceId: '805f6f9bd44083e258988819acc9ca40',
function_bot | parentId: 'e886397ea5108622',
function_bot | traceState: undefined,
function_bot | name: 'fs statSync',
function_bot | id: '0eb6f165db3376df',
function_bot | kind: 0,
function_bot | timestamp: 1686203300970000,
function_bot | duration: 25,
function_bot | attributes: {},
function_bot | status: { code: 0 },
function_bot | events: [],
function_bot | links: []
function_bot | }
Srikanth Chekuri
06/08/2023, 8:11 AMSrikanth Katti
06/08/2023, 9:40 AMSrikanth Katti
06/08/2023, 9:40 AMSrikanth Katti
06/08/2023, 9:41 AMSrikanth Katti
06/08/2023, 9:41 AMSrikanth Chekuri
06/08/2023, 9:50 AMSigNoz is an open-source APM. It helps developers monitor their applications & troubleshoot problems, an open-source alternative to DataDog, NewRelic, etc.
Powered by