@pydantic/logfire-cf-workers
v0.11.11
Published
Cloudflare workers integration for Logfire - https://pydantic.dev/logfire
Downloads
16,393
Readme
Pydantic Logfire — JavaScript SDK
From the team behind Pydantic Validation, Pydantic Logfire is an observability platform built on the same belief as our open source library — that the most powerful tools can be easy to use.
What sets Logfire apart:
- Simple and Powerful: Logfire's dashboard is simple relative to the power it provides, ensuring your entire engineering team will actually use it.
- SQL: Query your data using standard SQL — all the control and (for many) nothing new to learn. Using SQL also means you can query your data with existing BI tools and database querying libraries.
- OpenTelemetry: Logfire is an opinionated wrapper around OpenTelemetry, allowing you to leverage existing tooling, infrastructure, and instrumentation for many common packages, and enabling support for virtually any language.
See the documentation for more information.
Feel free to report issues and ask any questions about Logfire in this repository!
This repo contains the JavaScript Cloudflare SDK; the server application for recording and displaying data is closed source.
If you need to instrument your Node.js application, see the logfire package.
If you need to instrument your browser application, see the Logfire Browser package.
Basic usage
See the cf-worker example for a primer.
Runtime lifecycle
Cloudflare Workers do not have a process-style shutdown hook. Logfire relies on
the Worker request lifetime instead: each instrumented handler schedules span
export with ctx.waitUntil() after the handler finishes.
This applies to both Logfire entrypoints:
instrumentInProcess()and itsinstrument()alias configure in-process OTLP export.instrumentTail()configures tail Worker export.
Both entrypoints delegate to the underlying @pydantic/otel-cf-workers
instrument() helper. That helper proxies the Worker execution context, tracks
promises passed to ctx.waitUntil() inside the user handler, then schedules span
export on the original context with ctx.waitUntil(). Export waits for a
scheduler tick and the tracked promises before force-flushing the configured span
processors.
Because export is tied to each Worker event, there is no long-lived Logfire
runtime to shut down after deployment. Use ctx.waitUntil() for any asynchronous
work that should be included in request-lifetime telemetry.
Managed Variables
Cloudflare Workers can use local managed variables from logfire/vars when the
worker already depends on the core logfire package. Remote managed variables
need a Logfire API key, so only configure them when the key is stored as a
Worker secret and never sent to a browser client.
Contributing
See CONTRIBUTING.md for development instructions.
License
MIT
