OpenTelemetry for CDS
OpenTelemetry
support forCDS nodejs runtime
How to use it
install this package firstly
npm i -S opentelemetry-cds
start cds runtime with
opentelemetry-cds
module
{
"scripts": {
"start": "otlp-cds-serve"
}
}
Instruments
- [x] EventHandlers
- [x] EventContext/Event/Request
- [x] register (on/once/before)
- [x] emit
- [x] OData Adapter
- [x]
process
- [x]
execute
- [x]
createOdataService
- [x]
- [x] CDS Compiler
- [x] edm/edmx/edm.all/edmx.all
- [ ] Messaging
- [x] cds-nats
- [ ] rfc
- [ ] cds.MessagingService
- [x] cds-nats
- [x] Database
- [x] sqlite3 (
Database
.run
/prepare
/all
/get
) - [x] hdb
Client
.exec
/prepare
/commit
/rollback
- [x] sqlite3 (
- [x] third-party instrumentations
- [x] express
- [x] net
- [x] dns
- [x] mysql
- [x] http
Features
- [x] instrumentations
- [ ] cloud foundry support
- [ ] k8s support
- [ ] environment variables
- [x]
otlp-cds-serve
command
Configuration
opentelemetry-cds is using
opentelemetry-http
protocol as exporter, just ref @opentelemetry/exporter-trace-otlp-http document to configure it by environment
OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4318
Local Setup
view the trace in a local jaeger server
- Download Jaeger Binary for your OS
- Extract it
- Run it with otlp enabled flag
- Start your cds application with
npx otlp-cds-serve
./jaeger-all-in-one --collector.otlp.enabled
Screenshots
batch operations
cross service call
async message broker