mirror of
https://github.com/ragestudio/comty.git
synced 2025-06-09 10:34:17 +00:00
Remove OpenTelemetry and simplify server boot process
This commit is contained in:
parent
c462c9f25d
commit
0b1317c77a
@ -8,17 +8,6 @@ const { Buffer } = require("node:buffer")
|
|||||||
const { webcrypto: crypto } = require("node:crypto")
|
const { webcrypto: crypto } = require("node:crypto")
|
||||||
const { InfisicalClient } = require("@infisical/sdk")
|
const { InfisicalClient } = require("@infisical/sdk")
|
||||||
const moduleAlias = require("module-alias")
|
const moduleAlias = require("module-alias")
|
||||||
const { onExit } = require("signal-exit")
|
|
||||||
const opentelemetry = require("@opentelemetry/sdk-node")
|
|
||||||
const {
|
|
||||||
getNodeAutoInstrumentations,
|
|
||||||
} = require("@opentelemetry/auto-instrumentations-node")
|
|
||||||
const { OTLPTraceExporter } = require("@opentelemetry/exporter-trace-otlp-http")
|
|
||||||
const { OTLPLogExporter } = require("@opentelemetry/exporter-logs-otlp-http")
|
|
||||||
const { Resource } = require("@opentelemetry/resources")
|
|
||||||
const {
|
|
||||||
SemanticResourceAttributes,
|
|
||||||
} = require("@opentelemetry/semantic-conventions")
|
|
||||||
|
|
||||||
// Override file execution arg
|
// Override file execution arg
|
||||||
process.argv.splice(1, 1)
|
process.argv.splice(1, 1)
|
||||||
@ -164,34 +153,12 @@ async function Boot(main) {
|
|||||||
throw new Error("main class is not defined")
|
throw new Error("main class is not defined")
|
||||||
}
|
}
|
||||||
|
|
||||||
const service_id = process.env.lb_service.id
|
const { lb_service_id } = process.env
|
||||||
|
|
||||||
console.log(
|
console.log(
|
||||||
`[BOOT] Booting (${service_id}) in [${global.isProduction ? "production" : "development"}] mode...`,
|
`[BOOT] Booting in [${global.isProduction ? "production" : "development"}] mode...`,
|
||||||
)
|
)
|
||||||
|
|
||||||
const traceExporter = new OTLPTraceExporter({
|
|
||||||
url:
|
|
||||||
process.env.OTEL_EXPORTER_OTLP_TRACES_ENDPOINT ??
|
|
||||||
"http://fr02.ragestudio.net:4318/v1/traces",
|
|
||||||
})
|
|
||||||
const logExporter = new OTLPLogExporter({
|
|
||||||
url:
|
|
||||||
process.env.OTEL_EXPORTER_OTLP_LOGS_ENDPOINT ??
|
|
||||||
"http://fr02.ragestudio.net:4318/v1/logs",
|
|
||||||
})
|
|
||||||
|
|
||||||
const sdk = new opentelemetry.NodeSDK({
|
|
||||||
traceExporter,
|
|
||||||
logExporter,
|
|
||||||
instrumentations: [getNodeAutoInstrumentations()],
|
|
||||||
resource: new Resource({
|
|
||||||
[SemanticResourceAttributes.SERVICE_NAME]: service_id ?? "node_app",
|
|
||||||
}),
|
|
||||||
})
|
|
||||||
|
|
||||||
sdk.start()
|
|
||||||
|
|
||||||
if (
|
if (
|
||||||
process.env.INFISICAL_CLIENT_ID &&
|
process.env.INFISICAL_CLIENT_ID &&
|
||||||
process.env.INFISICAL_CLIENT_SECRET
|
process.env.INFISICAL_CLIENT_SECRET
|
||||||
@ -204,30 +171,35 @@ async function Boot(main) {
|
|||||||
|
|
||||||
const instance = new main()
|
const instance = new main()
|
||||||
|
|
||||||
onExit(
|
process.on("exit", (code) => {
|
||||||
(code, signal) => {
|
console.log(`[BOOT] Closing...`)
|
||||||
console.log(`[BOOT] Cleaning up...`)
|
|
||||||
|
|
||||||
sdk.shutdown()
|
|
||||||
.then(() => console.log("Tracing terminated"))
|
|
||||||
.catch((error) =>
|
|
||||||
console.log("Error terminating tracing", error),
|
|
||||||
)
|
|
||||||
|
|
||||||
|
if (instance._fireClose) {
|
||||||
|
instance._fireClose()
|
||||||
|
} else {
|
||||||
if (typeof instance.onClose === "function") {
|
if (typeof instance.onClose === "function") {
|
||||||
instance.onClose()
|
instance.onClose()
|
||||||
}
|
}
|
||||||
|
|
||||||
instance.engine.close()
|
instance.engine.close()
|
||||||
},
|
}
|
||||||
{
|
})
|
||||||
alwaysLast: true,
|
|
||||||
},
|
process.on("SIGTERM", () => {
|
||||||
)
|
process.exit(0)
|
||||||
|
})
|
||||||
|
|
||||||
|
process.on("SIGINT", () => {
|
||||||
|
process.exit(0)
|
||||||
|
})
|
||||||
|
|
||||||
|
process.on("SIGTERM", () => {
|
||||||
|
process.exit(0)
|
||||||
|
})
|
||||||
|
|
||||||
await instance.initialize()
|
await instance.initialize()
|
||||||
|
|
||||||
if (process.env.lb_service && process.send) {
|
if (lb_service_id && process.send) {
|
||||||
process.send({
|
process.send({
|
||||||
status: "ready",
|
status: "ready",
|
||||||
})
|
})
|
||||||
|
Loading…
x
Reference in New Issue
Block a user