chore: Move tracing decorators into the codebase (#4623)

* Vendorize tracing, finally fix service name issues

* Upgrade datadaog-metrics, rename decorators -> tracing

* lint
This commit is contained in:
Tom Moor
2022-12-31 12:54:51 +00:00
committed by GitHub
parent 1e036ebd0e
commit c6fb764631
26 changed files with 501 additions and 190 deletions

View File

@@ -6,8 +6,8 @@ import IO from "socket.io";
import { createAdapter } from "socket.io-redis";
import Logger from "@server/logging/Logger";
import Metrics from "@server/logging/Metrics";
import * as Tracing from "@server/logging/tracing";
import { APM } from "@server/logging/tracing";
import * as Tracing from "@server/logging/tracer";
import { traceFunction } from "@server/logging/tracing";
import { Document, Collection, View, User } from "@server/models";
import { can } from "@server/policies";
import { getUserForJWT } from "@server/utils/jwt";
@@ -131,7 +131,7 @@ export default function init(
// Handle events from event queue that should be sent to the clients down ws
const websockets = new WebsocketsProcessor();
websocketQueue.process(
APM.traceFunction({
traceFunction({
serviceName: "websockets",
spanName: "process",
isRoot: true,

View File

@@ -1,6 +1,6 @@
import Logger from "@server/logging/Logger";
import * as Tracing from "@server/logging/tracing";
import { APM } from "@server/logging/tracing";
import { setResource } from "@server/logging/tracer";
import { traceFunction } from "@server/logging/tracing";
import {
globalEventQueue,
processorEventQueue,
@@ -13,7 +13,7 @@ import tasks from "../queues/tasks";
export default function init() {
// This queue processes the global event bus
globalEventQueue.process(
APM.traceFunction({
traceFunction({
serviceName: "worker",
spanName: "process",
isRoot: true,
@@ -21,7 +21,7 @@ export default function init() {
const event = job.data;
let err;
Tracing.setResource(`Event.${event.name}`);
setResource(`Event.${event.name}`);
Logger.info("worker", `Processing ${event.name}`, {
name: event.name,
@@ -71,7 +71,7 @@ export default function init() {
// Jobs for individual processors are processed here. Only applicable events
// as unapplicable events were filtered in the global event queue above.
processorEventQueue.process(
APM.traceFunction({
traceFunction({
serviceName: "worker",
spanName: "process",
isRoot: true,
@@ -79,7 +79,7 @@ export default function init() {
const { event, name } = job.data;
const ProcessorClass = processors[name];
Tracing.setResource(`Processor.${name}`);
setResource(`Processor.${name}`);
if (!ProcessorClass) {
throw new Error(
@@ -107,7 +107,7 @@ export default function init() {
// Jobs for async tasks are processed here.
taskQueue.process(
APM.traceFunction({
traceFunction({
serviceName: "worker",
spanName: "process",
isRoot: true,
@@ -115,7 +115,7 @@ export default function init() {
const { name, props } = job.data;
const TaskClass = tasks[name];
Tracing.setResource(`Task.${name}`);
setResource(`Task.${name}`);
if (!TaskClass) {
throw new Error(