Files
smoothschedule/activepieces-fork/packages/server/api/src/instrumentation.ts
poduck 3aa7199503 Add Activepieces integration for workflow automation
- Add Activepieces fork with SmoothSchedule custom piece
- Create integrations app with Activepieces service layer
- Add embed token endpoint for iframe integration
- Create Automations page with embedded workflow builder
- Add sidebar visibility fix for embed mode
- Add list inactive customers endpoint to Public API
- Include SmoothSchedule triggers: event created/updated/cancelled
- Include SmoothSchedule actions: create/update/cancel events, list resources/services/customers

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
2025-12-18 22:59:37 -05:00

40 lines
1.5 KiB
TypeScript

import { AppSystemProp } from '@activepieces/server-shared'
import { FastifyOtelInstrumentation } from '@fastify/otel'
import { getNodeAutoInstrumentations } from '@opentelemetry/auto-instrumentations-node'
import { OTLPTraceExporter } from '@opentelemetry/exporter-trace-otlp-http'
import { resourceFromAttributes } from '@opentelemetry/resources'
import { NodeSDK } from '@opentelemetry/sdk-node'
import { BatchSpanProcessor } from '@opentelemetry/sdk-trace-base'
import { ATTR_SERVICE_NAME } from '@opentelemetry/semantic-conventions'
import { system } from './app/helper/system/system'
function getServiceName(): string {
const isApp = system.isApp()
const serviceName = isApp ? 'activepieces-api' : 'activepieces-worker'
return serviceName
}
if (system.get(AppSystemProp.OTEL_ENABLED)) {
const traceExporter = new OTLPTraceExporter()
const resource = resourceFromAttributes({
[ATTR_SERVICE_NAME]: getServiceName(),
})
// Configuring the OpenTelemetry Node SDK
const sdk = new NodeSDK({
spanProcessors: [new BatchSpanProcessor(traceExporter)],
resource,
// Adding auto-instrumentations to automatically collect trace data
instrumentations: [
getNodeAutoInstrumentations(),
new FastifyOtelInstrumentation({
servername: getServiceName(),
registerOnInitialization: true,
}),
],
})
// Starting the OpenTelemetry SDK to begin collecting telemetry data
sdk.start()
}