---
description: Find Cloudflare tools for observability data and workflows.
title: Cloudflare Observability
image: https://developers.cloudflare.com/observability/og.png?v=b5017507340d020f
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Cloudflare Observability

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Cloudflare provides observability tools across its network and developer products. Use this page to find the documentation for your task.

## Explore observability tools

[Investigate logs](https://developers.cloudflare.com/observability/logs/)

Store and investigate Workers and Cloudflare service logs.

Explore logs

[Trace a request](https://developers.cloudflare.com/observability/traces/)

See how a request moves through Cloudflare and your Workers, and where time is spent.

Explore traces

[Monitor errors](https://developers.cloudflare.com/workers/observability/issues/)

Group recurring Workers failures into issues and route them to your team.

Explore Workers Issues

[Analyze trends](https://developers.cloudflare.com/analytics/)

Analyze traffic, security, performance, and product data.

Explore analytics

[Create alerts](https://developers.cloudflare.com/notifications/)

Configure alerts and where they are delivered.

Explore alerts

[Export telemetry](https://developers.cloudflare.com/observability/export/)

Send logs and Workers telemetry to external destinations.

Explore export options

[Build dashboards](https://developers.cloudflare.com/analytics/custom-dashboards/)

Build charts from supported Analytics and Log Explorer datasets.

Explore dashboards

## Pricing and availability

### [Observability pricing](https://developers.cloudflare.com/observability/pricing/)

Review ingestion and storage pricing for logs and traces.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/observability/#page","headline":"Cloudflare Observability","description":"Find Cloudflare tools for observability data and workflows.","url":"https://developers.cloudflare.com/observability/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/og.png?v=b5017507340d020f","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Query and visualize logs from supported Cloudflare products.
title: Logs
image: https://developers.cloudflare.com/observability/logs/og.png?v=4631949cc5d8bb0c
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Logs

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/logs/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Use Logs to query structured events from supported Cloudflare products and services. Filter by time range and field values, then chart or inspect matching events.

You can use Logs to:

- Inspect HTTP requests and security actions
- Debug errors in [Workers](https://developers.cloudflare.com/workers/) and [Containers](https://developers.cloudflare.com/containers/)
- Audit [R2](https://developers.cloudflare.com/r2/) bucket access and operations
- Investigate [AI Gateway](https://developers.cloudflare.com/ai-gateway/) errors, latency, token usage, and costs
- Query [Zero Trust](https://developers.cloudflare.com/cloudflare-one/) and network events

![Logs showing Worker query controls, outcome and duration visualizations, and a table of structured events.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2536,height=1298,format=webp/_astro/logs-workers-dashboard-overview.D6sJpjzt.png)

## Choose a dataset

Open the dataset selector to search available datasets, including HTTP requests, security events, Workers, Containers, R2, AI Gateway, and Issues. For domain-scoped datasets, select one domain or all domains.

Available fields and retention periods vary by dataset, and some datasets must be turned on in their source product.

![Dataset selector showing HTTP requests, Workers, Containers, R2, and Issues.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1200,height=365,format=webp/_astro/logs-dataset-selector.DicR71jE.png)

## Narrow the results

Use the field browser to search field names or browse categories. To create a filter, select a field, operator, and value.

You can also enter a query directly, either in the filter query language or as SQL against the selected dataset. The built-in reference covers field queries, comparison operators, functions, Boolean logic, examples, and keyboard shortcuts. To inspect one request, filter on its Ray ID.

Select a preset time range, enter a relative range, or select calendar dates. Results show the returned row count and query duration.

![Logs filter builder matching requests where Path equals /.env, with the generated query and filtered chart.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2170,height=1020,format=webp/_astro/logs-filter-builder.D4R0Ozg1.png)

## Visualize results

Create a visualization from a field, describe the chart you want in plain language, or configure one from scratch. Group results by one or more fields, or add, remove, and reorder custom series with separate labels, metrics, and filters. When Logs detects an anomaly in a series, select it to narrow the results to the affected time range and investigate.

Available chart types include:

- **Single value:** Stat and Percentage
- **Time series:** Timeseries, Bar Chart, and Stacked Area
- **Categories:** Categorical Bar, Horizontal Bar, Vertical Bar, Doughnut Chart, and Top List
- **Geospatial and flow:** Choropleth Country Map, Proportional Symbol Map, and Sankey Diagram
- **Tabular data:** Table

Use automatic interval selection or select an interval from one minute to one day. Resize the visualization area, duplicate or remove a chart, and add the chart to a [custom dashboard](https://developers.cloudflare.com/analytics/custom-dashboards/).

![Logs visualizations showing Worker invocation outcomes, error outcomes, latency, and an empty chart ready to configure.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2414,height=1402,format=webp/_astro/logs-visualization-builder.DigfiOXH.png)

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/observability/logs/#page","headline":"Logs","description":"Query and visualize logs from supported Cloudflare products.","url":"https://developers.cloudflare.com/observability/logs/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/logs/og.png?v=4631949cc5d8bb0c","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Review scope, size, and retention for supported Logs datasets.
title: Datasets
image: https://developers.cloudflare.com/observability/logs/datasets/og.png?v=d09fd91e35ee57db
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Datasets

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/logs/datasets/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Cloudflare Observability supports logs from the products listed in the table. Turn on each dataset in the location shown under **Enablement**. Datasets enabled through [Log Explorer](https://developers.cloudflare.com/log-explorer/) appear in Logs once your account has Log Explorer and that dataset turned on. Event sizes are estimates and vary by record.

## Supported datasets

| Dataset | Identifier | Enablement | Average event size | Default retention |
| --- | --- | --- | --- | --- |
| [Workers](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) | `workers` | [On Worker](https://developers.cloudflare.com/workers/observability/logs/workers-logs/#enable-workers-logs) | 4.84 KB | 7 days |
| [Containers](https://developers.cloudflare.com/containers/faq/#how-do-container-logs-work) | `containers` | [On Worker](https://developers.cloudflare.com/containers/faq/#how-do-container-logs-work) | 1.88 KB | 7 days |
| [R2 Data Access Logs](https://developers.cloudflare.com/r2/buckets/data-access-logs/) | `r2` | [On Bucket](https://developers.cloudflare.com/r2/buckets/data-access-logs/#turn-on-data-access-logs) | 1.55 KB | 7 days |
| [AI Gateway](https://developers.cloudflare.com/ai-gateway/observability/logging/) | `ai-gateway` | [On Gateway](https://developers.cloudflare.com/ai-gateway/observability/logging/) | 2 KB | 7 days |
| [Issues](https://developers.cloudflare.com/workers/observability/issues/) | `real-time-issues` | [On Worker](https://developers.cloudflare.com/workers/observability/issues/) | 2.64 KB | 7 days |
| [HTTP Requests](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/http_requests/) | `http_requests` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.56 KB | 30 days |
| [Firewall Events](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/firewall_events/) | `firewall_events` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.36 KB | 30 days |
| [Access Requests](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/access_requests/) | `access_requests` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 446 B | 30 days |
| [Audit Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/audit_logs/) | `audit_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 2.69 KB | 30 days |
| [Audit Logs v2](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/audit_logs_v2/) | `audit_logs_v2` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.73 KB | 30 days |
| [Browser Isolation User Actions](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/biso_user_actions/) | `biso_user_actions` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | Not published | 30 days |
| [CASB Findings](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/casb_findings/) | `casb_findings` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 2.67 KB | 30 days |
| [DEX Application Tests](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/dex_application_tests/) | `dex_application_tests` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 3.29 KB | 30 days |
| [DEX Device State Events](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/dex_device_state_events/) | `dex_device_state_events` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.98 KB | 30 days |
| [Device Posture Results](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/device_posture_results/) | `device_posture_results` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 730 B | 30 days |
| [DNS Firewall Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/dns_firewall_logs/) | `dns_firewall_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 387 B | 30 days |
| [DNS Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/dns_logs/) | `dns_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 199 B | 30 days |
| [Email Security Alerts](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/email_security_alerts/) | `email_security_alerts` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 6.74 KB | 30 days |
| [Gateway DNS](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/gateway_dns/) | `gateway_dns` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.44 KB | 30 days |
| [Gateway HTTP](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/gateway_http/) | `gateway_http` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.47 KB | 30 days |
| [Gateway Network](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/gateway_network/) | `gateway_network` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 877 B | 30 days |
| [IPsec Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/ipsec_logs/) | `ipsec_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 207 B | 30 days |
| [Magic BGP Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/magic_bgp_logs/) | `magic_bgp_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | Not published | 30 days |
| [Magic IDS Detections](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/magic_ids_detections/) | `magic_ids_detections` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 334 B | 30 days |
| [NEL Reports](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/nel_reports/) | `nel_reports` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 204 B | 30 days |
| [Network Analytics](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/network_analytics_logs/) | `network_analytics_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.31 KB | 30 days |
| [Page Shield Events](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/page_shield_events/) | `page_shield_events` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 443 B | 30 days |
| [Sinkhole HTTP Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/sinkhole_http_logs/) | `sinkhole_http_logs` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 705 B | 30 days |
| [Spectrum Events](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/spectrum_events/) | `spectrum_events` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 685 B | 30 days |
| [WARP Toggle Changes](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/warp_toggle_changes/) | `warp_toggle_changes` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 327 B | 30 days |
| [Zaraz Events](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/zaraz_events/) | `zaraz_events` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 7.30 KB | 30 days |
| [Zero Trust Network Session Logs](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/account/zero_trust_network_sessions/) | `zero_trust_network_sessions` | [On Account](https://developers.cloudflare.com/log-explorer/manage-datasets/#enable-log-explorer) | 1.21 KB | 30 days |

## Pricing

Beginning December 1, 2026, all Cloudflare logs and traces will use the same pricing model. Unsampled security datasets have a different price point of $1 per GB ingested and include 30-day retention. Queries, dashboards, alerts, and analytics do not incur additional charge.

### Included in the new Observability pricing

The following logs and traces share account-level ingestion and storage allowances:

- [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/)
- [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/)
- [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/)
- [Containers logs](https://developers.cloudflare.com/containers/faq/#how-do-container-logs-work)
- [R2 Data Access Logs](https://developers.cloudflare.com/r2/buckets/data-access-logs/)
- [AI Gateway logs](https://developers.cloudflare.com/ai-gateway/observability/logging/)
- [Issues](https://developers.cloudflare.com/workers/observability/issues/)

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/logs/datasets/#page","headline":"Datasets","description":"Review scope, size, and retention for supported Logs datasets.","url":"https://developers.cloudflare.com/observability/logs/datasets/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/logs/datasets/og.png?v=d09fd91e35ee57db","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Inspect production request paths in Cloudflare Observability.
title: Traces
image: https://developers.cloudflare.com/observability/traces/og.png?v=2f14e97f99a2b734
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Traces

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/traces/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Cloudflare Traces show how production requests move through Cloudflare and record traces from actual traffic on your domain. Each trace contains [spans](https://developers.cloudflare.com/observability/traces/spans/) for supported steps in the request path, such as [Rules](https://developers.cloudflare.com/rules/), request routing, [Cache](https://developers.cloudflare.com/cache/), [Workers](https://developers.cloudflare.com/workers/), and origin connections. A span records how long an operation took, its outcome, and related attributes, which helps you see where a request slowed down or failed.

![A Cloudflare trace showing request processing spans, Worker and origin operations, timing, and details for a selected span.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2638,height=1124,format=webp/_astro/full-cloudflare-trace.BdBuHOv5.png)

Use Cloudflare Traces to answer questions such as:

- Why was a request blocked or challenged, and which [security rule](https://developers.cloudflare.com/waf/custom-rules/) took action?
- Was the URL rewritten by a [Transform Rule](https://developers.cloudflare.com/rules/transform/) before it reached the application?
- Which [Page Rules](https://developers.cloudflare.com/rules/page-rules/), [Snippets](https://developers.cloudflare.com/rules/snippets/), or [Workers](https://developers.cloudflare.com/workers/) handled or changed the request?
- Was the response served from [cache](https://developers.cloudflare.com/cache/), and where was time spent between Cloudflare, the origin connection, and the application?
- Was the behavior isolated to a particular [Cloudflare location or region](https://developers.cloudflare.com/fundamentals/concepts/how-cloudflare-works/)?

## Enable tracing

Enable tracing separately for each domain in your account. To manage sampling, context, export destinations, and trace rules, refer to [Configuration](https://developers.cloudflare.com/observability/traces/configuration/).

## Inspect a trace

Use **Add filter** or enter a query to search across traces for the selected time range. To find the trace for one request, filter on its Ray ID.

Open a trace to see the full request path as a hierarchy of spans. Each row represents one operation, and its bar shows when the operation ran and how long it took. Expand a span to inspect its child operations, or search for a span by name.

Select a span to open its details. The detail panel shows the span status, service, trigger, span and trace IDs, duration compared to similar spans, and recorded attributes. You can search or copy the attributes while investigating the operation.

Cloudflare Trace

[Cloudflare Trace](https://developers.cloudflare.com/rules/trace-request/) simulates how Cloudflare configurations would handle a request. It does not show actual production traffic.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/observability/traces/#page","headline":"Traces","description":"Inspect production request paths in Cloudflare Observability.","url":"https://developers.cloudflare.com/observability/traces/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/traces/og.png?v=2f14e97f99a2b734","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Choose how each domain samples, stores, exports, and connects traces.
title: Configuration
image: https://developers.cloudflare.com/observability/traces/configuration/og.png?v=61a155bcdb386a5f
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Configuration

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/traces/configuration/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Configure [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/) separately for each domain. Choose how many requests to trace, where to save or send traces, and whether to connect them to traces from other systems.

![Trace settings for sampling, persistence, export destinations, trace rules, and trace context propagation.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1500,height=892,format=webp/_astro/trace-configuration.K-zGxXIJ.png)

## Head sampling

**Default sample rate (%)** sets how many requests Cloudflare traces. For example, a rate of `10%` traces about 10 out of every 100 requests. Trace rules can use a different rate for requests that match a rule.

## Trace rules

Trace rules override the default sample rate for matching requests. Cloudflare uses the first matching rule, so rule order matters.

Choose **Custom filter expression** to match selected requests, or choose **All incoming requests** to apply the rule to every request. Build a custom filter from fields, operators, and values, or select **Edit expression** to write it with the [Cloudflare Rules language](https://developers.cloudflare.com/ruleset-engine/rules-language/).

Set **Sample rate (%)** to the percentage of matching requests you want to trace. Select **Save as Draft** to keep the rule inactive, or select **Deploy** to start using it.

![A trace rule that samples all incoming requests with a URL path starting with /api/v1.](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1350,height=878,format=webp/_astro/create-trace-rule.PluHax99.png)

## Persist traces

Turn on **Persist to Cloudflare** to save traces in Cloudflare and view them in the dashboard.

Pricing

Beginning December 1, 2026, persisted traces contribute to Cloudflare Observability ingestion and storage usage. Refer to [Cloudflare Observability pricing](https://developers.cloudflare.com/observability/pricing/).

## Export traces

Use **Export destinations** to send traces to configured account-level OpenTelemetry destinations. To create a destination or configure a provider, refer to [OpenTelemetry export](https://developers.cloudflare.com/observability/export/opentelemetry/).

You can save and export the same traces. If you only want traces in an external tool, turn off **Persist to Cloudflare**.

## Propagate trace context

Trace context carries identifiers that connect spans from different systems into one trace. Cloudflare uses [W3C Trace Context ↗︎](https://www.w3.org/TR/trace-context-1/) to connect its spans to services before or after Cloudflare in the request path. You can configure incoming and outgoing propagation separately.

### Incoming trace context

Use **Incoming trace context** to choose whether Cloudflare accepts trace context included with an incoming request. The default setting is *Reject*, which ignores the incoming context so Cloudflare does not join the caller's trace.

Caution

Cloudflare does not verify that incoming trace context came from a trusted caller. If you accept it, treat the joined trace as untrusted.

### Forward context to your origin

Turn on **Forward to origin** to include trace context in requests that Cloudflare sends to your origin. An instrumented origin can use this context to add its spans to the same trace. Forwarding context does not instrument the origin or create origin spans by itself.

To view Cloudflare and origin spans in one trace in a third-party observability tool, send both sets of spans to the same OpenTelemetry destination.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/traces/configuration/#page","headline":"Configuration","description":"Choose how each domain samples, stores, exports, and connects traces.","url":"https://developers.cloudflare.com/observability/traces/configuration/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/traces/configuration/og.png?v=61a155bcdb386a5f","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Understand spans captured as requests move through Cloudflare.
title: Spans
image: https://developers.cloudflare.com/observability/traces/spans/og.png?v=2668c41ce53abbb0
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Spans

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/traces/spans/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

A span represents one operation within a trace. Each span records when an operation started and how long it took. Related spans form a hierarchy that shows how a request moved through Cloudflare.

The spans in a trace depend on the products and request path involved. A span appears only when the corresponding operation runs.

## Span reference

| Span | What it covers | What its duration measures |
| --- | --- | --- |
| `cloudflare_request` | Cloudflare's processing of an HTTP request. This is the root span for platform-level request processing. | Starts after tracing configuration and sampling are resolved. Includes the request processing, upstream, response delivery, and post-processing, but excludes processing before tracing is activated. |
| `response` | Response processing and delivery to the client. | Starts after an upstream or internally generated response becomes available. This includes the time spent to fully stream the response back to the client. |
| `workers_routing` | The decision to match, skip, or reject a Workers route or custom domain. A `skipped` means a skip or disabled route matched. Requests that are not eligible for Workers routing do not emit this span. | Includes the time to evaluate the routes/custom domains that might match the request. Does not include the time executing the Worker. |
| `page_rules` | One evaluation of a configured Page Rules set. | Includes the time to evaluate the Page Rules. It does not include applying those actions to the request. |
| `cache` | Getting a response from Cloudflare's cache, fetching or revalidating it when needed. | On a cache hit, includes reading and transferring the cached response. If Cloudflare needs to fetch or revalidate the response, that time is included too, including waiting for another request already filling the cache. **Includes the full response body, not just the cache lookup.** |
| `dynamic` | Fetching and returning an uncached response. | Includes establishing a connection when needed, sending the request and its body, waiting for the response, and transferring the full response body. **It is not just the time your origin spends processing the request.** |
| `upstream` | Fetching a response from another Cloudflare location using Tiered Cache. | Includes establishing a connection when needed, sending the request, waiting for the other location to produce a response, and receiving its full response body. If that location needs to fetch from your origin, that wait is included. **It is not just the network travel time between locations.** |

## Ruleset phase spans

Ruleset phase spans measure rule execution and application of the phase output. They start after eligibility checks and request-body preparation, and end after Cloudflare applies the resulting actions. A skipped phase does not emit a span.

| Span | Ruleset phase covered |
| --- | --- |
| `http_request_dynamic_redirect` | Dynamic Redirect Rules |
| `http_request_transform` | Early request Transform Rules |
| `http_config_settings` | Configuration Rules |
| `http_request_origin` | Origin Rules |
| `http_request_firewall_custom` | Custom rules |
| `http_request_firewall_managed` | Managed rules |
| `http_request_redirect` | Request redirect rules |
| `http_request_late_transform_managed` | Managed late request transforms |
| `http_request_late_transform` | Late request transforms |
| `http_request_cache_settings` | Cache Rules |
| `http_request_snippets` | Snippets rules |
| `http_custom_errors` | Custom Error Rules |
| `http_response_headers_transform_managed` | Managed response header transforms |
| `http_response_headers_transform` | Response Header Transform Rules |
| `http_response_compression` | Compression Rules |
| `http_response_firewall_managed` | Managed response firewall processing |

## Workers runtime spans

Cloudflare Traces include spans for supported Workers runtime operations, including handler invocations, fetch calls, and binding operations.

Refer to [Workers spans and attributes](https://developers.cloudflare.com/workers/observability/traces/spans-and-attributes/) for the complete runtime reference. You can also [create custom spans](https://developers.cloudflare.com/workers/observability/traces/custom-spans/) for application-specific operations.

Note

[Workers tracing](https://developers.cloudflare.com/workers/observability/traces/) needs to be enabled to see Workers spans in a Cloudflare Trace.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/traces/spans/#page","headline":"Spans","description":"Understand spans captured as requests move through Cloudflare.","url":"https://developers.cloudflare.com/observability/traces/spans/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/traces/spans/og.png?v=2668c41ce53abbb0","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Gain end-to-end visibility into request flows across your Workers application with automatic tracing instrumentation.
title: Traces
image: https://developers.cloudflare.com/workers/observability/traces/og.png?v=5a79cedf9f235251
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/workers/llms.txt  
> Use this file to discover all available pages before exploring further.

# Traces

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/workers/observability/traces/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

### What is Workers tracing?

Tracing gives you end-to-end visibility into the life of a request as it travels through your Workers application and connected services. This helps you identify performance bottlenecks, debug issues, and understand complex request flows. With tracing you can answer questions such as:

- What is the cause of a long-running request?
- How long do subrequests from my Worker take?
- How long are my calls to my KV Namespace or R2 bucket taking?

![Example trace showing a POST request to a cake shop with multiple spans including fetch requests and durable object operations](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1348,height=414,format=webp/_astro/wobs_waterfall_trace_122.BveqL__z.png)

### Automatic instrumentation

Cloudflare Workers provides tracing instrumentation **out of the box** — no code changes or SDK are required. Simply enable tracing on your Worker and Cloudflare automatically captures telemetry data for:

- **Fetch calls** — All outbound HTTP requests, capturing timing, status codes, and request metadata. This enables you to quickly identify how external dependencies affect your application's performance.
- **Binding calls** — Interactions with various Worker bindings such as KV reads and writes, R2 object storage operations and Durable Object invocations.
- **RPC calls** — Calls between Workers and Durable Objects, including caller-side session spans and individual method-call spans.
- **Handler calls** — The complete lifecycle of each Worker invocation, including triggers such as [fetch handlers](https://developers.cloudflare.com/workers/runtime-apis/handlers/fetch/), [scheduled handlers](https://developers.cloudflare.com/workers/runtime-apis/handlers/scheduled/), and [queue handlers](https://developers.cloudflare.com/queues/configuration/javascript-apis/#consumer).

For a full list of instrumented operations, refer to the [spans and attributes documentation](https://developers.cloudflare.com/workers/observability/traces/spans-and-attributes/).

### Custom spans

You can also create your own spans to trace application-specific logic. Custom spans nest automatically with the built-in instrumentation, giving you end-to-end visibility across both platform operations and your own code.

For more information, refer to [Custom spans](https://developers.cloudflare.com/workers/observability/traces/custom-spans/).

### How to enable tracing

You can configure tracing by setting `observability.traces.enabled = true` in your [Wrangler configuration file](https://developers.cloudflare.com/workers/wrangler/configuration/#observability).

```jsonc
{
	"observability": {
		"traces": {
			"enabled": true,
			// optional sampling rate (recommended for high-traffic workloads)
			"head_sampling_rate": 0.05
		}
	}
}
```

```toml
[observability.traces]
enabled = true
head_sampling_rate = 0.05
```

Note

In the future, Cloudflare plans to enable automatic tracing in addition to logs when you set `observability.enabled = true` in your Wrangler configuration.

While automatic tracing is in early beta, this setting will not enable tracing by default, and will only enable logs.

An updated [`compatibility_date`](https://developers.cloudflare.com/workers/configuration/compatibility-dates/) will be required for this change to take effect.

### Exporting OpenTelemetry traces to a 3rd party destination

Workers tracing follows [OpenTelemetry (OTel) standards ↗︎](https://opentelemetry.io/). This makes it compatible with popular observability platforms, such as [Honeycomb](https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/), [Grafana Cloud](https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/), and [Axiom](https://developers.cloudflare.com/observability/export/opentelemetry/axiom/), while requiring zero development effort from you. If your observability provider has an available OpenTelemetry endpoint, you can export traces (and logs)!

You can also set `persist: false` to export traces to your destination without persisting them in the Cloudflare dashboard. This allows you to use a third-party observability provider as your sole traces destination.

To export OpenTelemetry data from Workers, refer to [OpenTelemetry export](https://developers.cloudflare.com/workers/observability/opentelemetry-export/).

### Sampling

Default Sampling Rate

The default sampling rate is `1`, meaning 100% of requests will be traced if tracing is enabled. Set `head_sampling_rate` if you want to trace fewer requests.

With sampling, you can trace a percentage of incoming requests in your Cloudflare Worker. This allows you to manage volume and costs, while still providing meaningful insights into your application.

The valid sampling range is from `0` to `1`, where `0` indicates zero out of one hundred invocations will be traced, and `1` indicates every requests will be traced, and a number such a `0.05` indicates five out of one hundred requests will be traced.

If you have not specified a sampling rate, it defaults to `1`, meaning 100% of requests will be traced.

```jsonc
{
	"observability": {
		"traces": {
			"enabled": true,
			// set tracing sampling rate to 5%
			"head_sampling_rate": 0.05
		},
		"logs": {
			"enabled": true,
			// set logging sampling rate to 60%
			"head_sampling_rate": 0.6
		}
	}
}
```

```toml
[observability.traces]
enabled = true
head_sampling_rate = 0.05

[observability.logs]
enabled = true
head_sampling_rate = 0.6
```

If you have `head_sampling_rate` configured for logs, you can also create a separate rate for traces.

Sampling is [head-based ↗︎](https://opentelemetry.io/docs/concepts/sampling/#head-sampling), meaning that non-traced requests do not incur any tracing overhead.

### Limits and pricing

Workers traces have seven-day retention. Beginning December 1, 2026, stored traces contribute to account-level ingestion and storage usage under [Cloudflare Observability pricing](https://developers.cloudflare.com/observability/pricing/).

Sampling reduces the number of spans ingested and stored, which reduces billable usage.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/workers/observability/traces/#page","headline":"Traces","description":"Gain end-to-end visibility into request flows across your Workers application with automatic tracing instrumentation.","url":"https://developers.cloudflare.com/workers/observability/traces/","inLanguage":"en","image":"https://developers.cloudflare.com/workers/observability/traces/og.png?v=5a79cedf9f235251","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Set up alerts across Cloudflare products and deliver them to email, webhooks, PagerDuty, or connected services.
title: Alerts
image: https://developers.cloudflare.com/notifications/og.png?v=53368d19a966bd60
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/notifications/llms.txt  
> Use this file to discover all available pages before exploring further.

# Alerts

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/notifications/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Cloudflare Alerts monitor your account and notify you when something needs attention — from DDoS attacks and certificate expirations to origin failures and billing spikes. Built-in alerts cover products such as DDoS Protection, SSL/TLS, and Billing. Custom Alerts let you define your own threshold, anomaly, or SLO conditions on supported SQL API datasets.

## Delivery methods

Alerts can be delivered to:

- **Email** (all plans)
- **[Webhooks](https://developers.cloudflare.com/notifications/get-started/configure-webhooks/)** (all plans; accounts without a paid zone can configure up to 100 webhook destinations)
- **[PagerDuty](https://developers.cloudflare.com/notifications/get-started/configure-pagerduty/)** (Business and higher)
- **Connected services**, including coding agents

## [Get started](https://developers.cloudflare.com/notifications/get-started/)

Create and manage alerts from the Cloudflare dashboard. Configure where alerts are delivered.

## [Available alerts](https://developers.cloudflare.com/notifications/notification-available/)

Browse the full list of alert types organized by Cloudflare product.

## [Alert history](https://developers.cloudflare.com/notifications/notification-history/)

View a log of alerts that have been sent on your account.

## [API reference](https://developers.cloudflare.com/notifications/api-reference/)

Manage alerts programmatically using the Cloudflare API.

## [Reference](https://developers.cloudflare.com/notifications/reference/)

Troubleshooting, common errors, and details on specific alert types.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/notifications/#page","headline":"Alerts","description":"Set up alerts across Cloudflare products and deliver them to email, webhooks, PagerDuty, or connected services.","url":"https://developers.cloudflare.com/notifications/","inLanguage":"en","image":"https://developers.cloudflare.com/notifications/og.png?v=53368d19a966bd60","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Export Cloudflare logs and traces to external destinations.
title: Export
image: https://developers.cloudflare.com/observability/export/og.png?v=1dfc3a2fe167de72
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Use Logpush for logs generated by Cloudflare products. Use OpenTelemetry for logs and traces from Cloudflare Observability and Workers.

### [Logpush](https://developers.cloudflare.com/logs/logpush/)

Send Cloudflare logs to supported storage and analytics destinations.

### [OpenTelemetry export](https://developers.cloudflare.com/observability/export/opentelemetry/)

Send Cloudflare Traces, Workers traces, and Workers logs to an OpenTelemetry destination.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"WebPage","@id":"https://developers.cloudflare.com/observability/export/#page","headline":"Export","description":"Export Cloudflare logs and traces to external destinations.","url":"https://developers.cloudflare.com/observability/export/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/og.png?v=1dfc3a2fe167de72","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Push logs in near real-time to storage or SIEM.
title: Logpush
image: https://developers.cloudflare.com/logs/logpush/og.png?v=7891593910363aac
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/logs/llms.txt  
> Use this file to discover all available pages before exploring further.

# Logpush

Last updated Sep 30, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/logs/logpush/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Logpush delivers logs in batches as quickly as possible, with no minimum batch size, potentially delivering files more than once per minute. This capability enables Cloudflare to provide information almost in real time, in smaller file sizes.

The push frequency is automatic and cannot be adjusted—Cloudflare pushes logs in batches as soon as possible. However, users can configure the batch size [using the API](https://developers.cloudflare.com/logs/logpush/logpush-job/api-configuration/#max-upload-parameters) for improved control in case the log destination has specific requirements.

Important limitation

Logpush only pushes logs once as they become available and cannot backfill historical data. If your job is disabled or fails, logs generated during that period are permanently lost. This is why configuring [health notifications](https://developers.cloudflare.com/logs/logpush/logpush-health/) is essential for early detection of issues.

Logpush does not offer storage or search functionality for logs; its primary aim is to send logs as quickly as they arrive.

Cloudflare Logpush supports pushing logs to storage services, SIEMs, and log management providers via the Cloudflare dashboard or API.

## Estimating log volume

Before setting up a Logpush job, you can estimate the total volume of data that will be pushed to your destination. The volume depends on your traffic, selected fields, and compression.

### Quick sizing for HTTP Requests

A quick sizing estimate for an [HTTP Requests](https://developers.cloudflare.com/logs/logpush/logpush-job/datasets/zone/http_requests/) dataset:

- \~100–250 bytes per request (compressed, depending on fields selected)
- 1M requests/day → \~100–250 MB/day
- 30M requests/month → \~3–7.5 GB/month

### Daily storage by traffic volume

- 100k req/day → \~25–50 MB/day
- 1M req/day → \~250–500 MB/day
- 10M req/day → \~2.5–5 GB/day
- 100M req/day → \~25–50 GB/day

These ranges reflect field selection, compression, and whether you include extra fields or [custom fields](https://developers.cloudflare.com/logs/logpush/logpush-job/custom-fields/). Other datasets (Firewall, Workers, Load Balancing) add volume separately.

For precise estimates, you can [sample your logs via Logpull](https://developers.cloudflare.com/logs/logpull/additional-details/#estimating-daily-data-volume) using a 1-hour sample.

## Limits

There is currently a max limit of **4 Logpush jobs per zone**. Trying to create a job once the limit has been reached will result in an error message: `creating a new job is not allowed: exceeded max jobs allowed`.

## Availability

|  | Free | Pro | Business | Enterprise |
| --- | --- | --- | --- | --- |
| Availability | Yes | Yes | Yes | Yes |

Dataset availability depends on the Cloudflare products on your account. Workers Trace Events Logpush requires the [Workers Paid](https://developers.cloudflare.com/workers/platform/pricing/#workers-trace-events-logpush) plan and retains separate request-based pricing.

For usage rates and included monthly usage, refer to [Pricing](https://developers.cloudflare.com/logs/logpush/pricing/).

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/logs/logpush/#page","headline":"Logpush","description":"Push logs in near real-time to storage or SIEM.","url":"https://developers.cloudflare.com/logs/logpush/","inLanguage":"en","image":"https://developers.cloudflare.com/logs/logpush/og.png?v=7891593910363aac","dateModified":"2026-09-30","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Export Cloudflare logs and traces to OpenTelemetry destinations.
title: OpenTelemetry export
image: https://developers.cloudflare.com/observability/export/opentelemetry/og.png?v=2a6205b4ded568cd
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# OpenTelemetry export

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Cloudflare exports telemetry to destinations that support the OpenTelemetry Protocol (OTLP). Use these destinations with Cloudflare telemetry and your existing observability tools.

## Supported telemetry

You can export these telemetry types:

- [**Cloudflare Traces**](https://developers.cloudflare.com/observability/traces/) - Traces showing production request paths through Cloudflare
- [**Workers Traces**](https://developers.cloudflare.com/workers/observability/traces/) - Traces showing requests through Workers and connected services
- [**Workers Logs**](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) - Application and system logs, including `console.log()` output

## Available destinations

These endpoint formats cover common observability providers. Check your provider documentation for current authentication requirements.

| Provider | Traces endpoint | Logs endpoint |
| --- | --- | --- |
| [**Honeycomb**](https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/) | `https://api.honeycomb.io/v1/traces` | `https://api.honeycomb.io/v1/logs` |
| [**Grafana Cloud**](https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/) | `https://otlp-gateway-<REGION>.grafana.net/otlp/v1/traces` | `https://otlp-gateway-<REGION>.grafana.net/otlp/v1/logs` |
| [**Firetiger** ↗︎](https://docs.firetiger.com/ingest/cloudflare-workers.html) | `https://ingest.cloud.firetiger.com/v1/traces` | `https://ingest.cloud.firetiger.com/v1/logs` |
| [**Axiom**](https://developers.cloudflare.com/observability/export/opentelemetry/axiom/) | `https://api.axiom.co/v1/traces` | `https://api.axiom.co/v1/logs` |
| [**Sentry**](https://developers.cloudflare.com/observability/export/opentelemetry/sentry/) | `https://<HOST>/api/<PROJECT_ID>/integration/otlp/v1/traces` | `https://<HOST>/api/<PROJECT_ID>/integration/otlp/v1/logs` |
| [**Sematext** ↗︎](https://sematext.com/docs/guide/managed-otlp-endpoint/) | `https://otlp-receiver.sematext.com` (US), `https://otlp-receiver.eu.sematext.com` (EU) | `https://otlp-receiver.sematext.com` (US), `https://otlp-receiver.eu.sematext.com` (EU) |
| [**PostHog**](https://developers.cloudflare.com/observability/export/opentelemetry/posthog/) | Not supported | `https://<REGION>.i.posthog.com/i/v1/logs` |
| [**Datadog** ↗︎](https://docs.datadoghq.com/opentelemetry/setup/otlp_ingest/managed_platforms/) | `https://cloudflare.integrations.otlp.<DD_SITE>/v1/traces` | `https://cloudflare.integrations.otlp.<DD_SITE>/v1/logs` |
| [**New Relic** ↗︎](https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp/) | `https://otlp.nr-data.net/v1/traces` | `https://otlp.nr-data.net/v1/logs` |
| [**Splunk Observability** ↗︎](https://dev.splunk.com/observability/reference/api/ingest_data/latest) | `https://ingest.<REALM>.signalfx.com/v2/trace/otlp` | N/A |
| [**Splunk Platform** ↗︎](https://github.com/splunk/splunk-connect-for-otlp) | `http://splunk.internal:4318/v1/traces` | `http://splunk.internal:4318/v1/logs` |
| [**SigNoz** ↗︎](https://signoz.io/docs/integrations/outposts/cloudflare-workers/) | `https://ingest.<region>.signoz.cloud:443/v1/traces` | `https://ingest.<region>.signoz.cloud:443/v1/logs` |

Authentication

Most providers require authentication headers. Check your provider documentation for specific requirements.

## Create a destination

Create an account-level Cloudflare Observability destination first.

Protocol

Cloudflare does not support the [binary format ↗︎](https://opentelemetry.io/docs/specs/otlp/#binary-protobuf-encoding) for OTLP ingestion.

![Observability Destinations dashboard showing configured destinations for Grafana and Honeycomb with their respective endpoints and status](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1794,height=750,format=webp/_astro/destinations.B-CW_OSI.png)

1. In the Cloudflare dashboard, go to **Observability** > **Destinations**. [Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)
2. Select **Add destination**.
3. Configure the destination:
   - **Destination name** - Enter a descriptive name, such as `grafana-traces`.
   - **Destination type** - Select *Traces* or *Logs*.
   - **OTLP endpoint** - Enter the provider endpoint for your telemetry type.
   - **Custom headers** - Add any provider authentication headers.
4. Select **Save**.

![Edit Destination dialog showing configuration for Honeycomb tracing with destination name, type selection, OTLP endpoint, and custom headers](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1942,height=974,format=webp/_astro/destination-setup.B8cxx8yd.png)

## Enable export for Cloudflare Traces

Add the destination under **Export destinations** in your domain settings. Refer to [Cloudflare Traces configuration](https://developers.cloudflare.com/observability/traces/configuration/#export-traces).

## Enable OpenTelemetry export for your Worker

Configure and redeploy your Worker after creating a destination. Refer to [Workers OpenTelemetry export](https://developers.cloudflare.com/workers/observability/opentelemetry-export/).

## Check destination status

The dashboard shows each destination delivery status. The status reflects the most recent delivery attempt.

| Status | Description | Troubleshooting |
| --- | --- | --- |
| **Last: n minutes ago** | Cloudflare delivered data recently. | No action required |
| **Never run** | Cloudflare has not delivered data. | Check source traffic, export settings, and sampling rates |
| **Error** | Cloudflare could not deliver data. | Check the OTLP endpoint and authentication headers |

## Known limitations

Some providers do not support every OTLP telemetry type. Check the [available destinations](#available-destinations) and your provider documentation.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/#page","headline":"OpenTelemetry export","description":"Export Cloudflare logs and traces to OpenTelemetry destinations.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/og.png?v=2a6205b4ded568cd","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Send Cloudflare traces and logs to Axiom with OpenTelemetry.
title: Export to Axiom
image: https://developers.cloudflare.com/observability/export/opentelemetry/axiom/og.png?v=501bb85a9cd9f2d9
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export to Axiom

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/axiom/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Axiom stores, searches, and analyzes telemetry data. Export Cloudflare traces and logs to query data and create dashboards.

![Trace view with timing information displayed on a timeline](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=3773,height=1235,format=webp/_astro/axiom-example.BRPbEoGh.png)

This guide configures Axiom to receive Cloudflare traces and logs.

## Prerequisites

Before you begin, you need an active [Axiom account ↗︎](https://app.axiom.co/register). You also need Cloudflare logs or traces to export.

## 1. Create a dataset

Skip this step if you already have a dataset.

1. Log in to your [Axiom account ↗︎](https://app.axiom.co/).
2. Go to **Datasets**.
3. Select **New Dataset**.
4. Enter a name, such as `cloudflare-otel`.
5. Select **Create Dataset**.

## 2. Get an Axiom API token

1. Go to **Settings** > **API Tokens**.
2. Select **Create API Token**.
3. Enter a descriptive name, such as `cloudflare-otel`.
4. Select the **Ingest** permission.
5. Select datasets for the token, or select **All Datasets**.
6. Select **Create**.
7. Copy and securely store the API token.

The API token starts with `xaat-`.

## 3. Configure a Cloudflare Observability destination

Axiom provides separate OpenTelemetry Protocol (OTLP) endpoints for traces and logs:

- **Traces**: `https://api.axiom.co/v1/traces`
- **Logs**: `https://api.axiom.co/v1/logs`

1. In the Cloudflare dashboard, go to **Observability** > **Destinations**. [Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)
2. Select **Add destination**.
3. Configure the destination:
   - **Destination name**: Enter `axiom-traces` or `axiom-logs`.
   - **Destination type**: Select *Traces* or *Logs*.
   - **OTLP endpoint**: Enter the matching Axiom endpoint.
4. Add an authentication header:
   - **Header name**: `Authorization`
   - **Header value**: `Bearer <YOUR_API_TOKEN>`
5. Add the dataset header:
   - **Header name**: `X-Axiom-Dataset`
   - **Header value**: Your dataset name
6. Select **Save**.

## 4. Enable export

Creating a destination does not start exporting telemetry. To export [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) or [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/), [configure OpenTelemetry export for your Worker](https://developers.cloudflare.com/workers/observability/opentelemetry-export/). To export [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/), [configure export for your domain](https://developers.cloudflare.com/observability/traces/configuration/#export-traces).

Data may take several minutes to appear in Axiom.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/axiom/#page","headline":"Export to Axiom","description":"Send Cloudflare traces and logs to Axiom with OpenTelemetry.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/axiom/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/axiom/og.png?v=501bb85a9cd9f2d9","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Send Cloudflare traces and logs to Grafana Cloud.
title: Export to Grafana Cloud
image: https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/og.png?v=5df6f3224492c5f5
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export to Grafana Cloud

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Grafana Cloud provides visualization, alerting, and telemetry analytics. It accepts Cloudflare telemetry through the OpenTelemetry Protocol (OTLP).

Export Cloudflare traces to Grafana Tempo and logs to Grafana Loki.

![Grafana Tempo trace view showing a distributed trace for a service with multiple spans including fetch requests, durable object subrequests, and queue operations, with timing information displayed on a timeline](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1934,height=714,format=webp/_astro/grafana-traces.CuFntNVO.png)

This guide configures Grafana Cloud to receive Cloudflare traces and logs.

## Prerequisites

Before you begin, you need an active [Grafana Cloud account ↗︎](https://grafana.com/auth/sign-up/create-user). You also need Cloudflare logs or traces to export.

## 1. Get your OpenTelemetry credentials

1. Log in to the [Grafana Cloud portal ↗︎](https://grafana.com/).
2. From your organization home page, go to **Connections** > **Add new connection**.
3. Search for `OpenTelemetry`, then select **OpenTelemetry (OTLP)**.
4. Select **Quickstart**, then select **JavaScript**.
5. Select **Create a new token**.
6. Enter a token name, such as `cloudflare-otel`.
7. Select **Create token**, then select **Close**.
8. Copy the `OTEL_EXPORTER_OTLP_ENDPOINT` value from **Environment variables**.
9. Copy the `OTEL_EXPORTER_OTLP_HEADERS` value from the same block.

## 2. Configure Cloudflare Observability destinations

1. In the Cloudflare dashboard, go to **Observability** > **Destinations**. [Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)
2. Select **Add destination**.
3. Enter a descriptive destination name, such as `grafana-traces`.
4. For **Destination type**, select *Traces* or *Logs*. Create a separate destination for each type you export.
5. Enter the Grafana OTLP endpoint for your telemetry type:
   - **Traces**: Append `/v1/traces` to the endpoint.
   - **Logs**: Append `/v1/logs` to the endpoint.
6. Add the Grafana authentication header:
   - **Header name**: `Authorization`
   - **Header value**: The Basic authentication value from Grafana
7. Select **Save**.

The endpoint resembles `https://otlp-gateway-prod-us-east-2.grafana.net/otlp`.

## 3. Enable export

Creating a destination does not start exporting telemetry. To export [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) or [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/), [configure OpenTelemetry export for your Worker](https://developers.cloudflare.com/workers/observability/opentelemetry-export/). To export [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/), [configure export for your domain](https://developers.cloudflare.com/observability/traces/configuration/#export-traces).

Data may take several minutes to appear in Grafana Cloud.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/#page","headline":"Export to Grafana Cloud","description":"Send Cloudflare traces and logs to Grafana Cloud.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/grafana-cloud/og.png?v=5df6f3224492c5f5","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Send Cloudflare traces and logs to Honeycomb with OpenTelemetry.
title: Export to Honeycomb
image: https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/og.png?v=a91ac1dd9ce63aa2
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export to Honeycomb

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Honeycomb is an observability platform for high-cardinality telemetry data. Export Cloudflare telemetry to Honeycomb to query logs, inspect traces, and create dashboards.

![Trace view including POST request, fetch operations, durable object subrequest, and queue send, with timing information displayed on a timeline](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2196,height=704,format=webp/_astro/honeycomb-example.cEkEF1c4.png)

This guide configures Honeycomb to receive Cloudflare traces and logs.

## Prerequisites

Before you begin, you need an active [Honeycomb account ↗︎](https://ui.honeycomb.io/signup). You also need Cloudflare logs or traces to export.

## 1. Get your Honeycomb API key

1. Log in to your [Honeycomb account ↗︎](https://ui.honeycomb.io/).
2. From your profile menu, select **Team Settings**.
3. Select **Environments**, then select the gear icon.
4. Select an environment or create one.
5. Under **API Keys**, select **Create Ingest API Key**.
6. Enter a descriptive name, such as `cloudflare-otel`.
7. Select **Can create services/datasets**.
8. Select **Create**.
9. Copy and securely store the API key.

The API key starts with `hcaik_`.

## 2. Configure Cloudflare Observability destinations

Honeycomb provides separate OpenTelemetry Protocol (OTLP) endpoints for traces and logs:

- **Traces**: `https://api.honeycomb.io/v1/traces`
- **Logs**: `https://api.honeycomb.io/v1/logs`

### Configure a traces destination

1. In the Cloudflare dashboard, go to **Observability** > **Destinations**. [Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)
2. Select **Add destination**.
3. Configure the destination:
   - **Destination name**: `honeycomb-traces`
   - **Destination type**: *Traces*
   - **OTLP endpoint**: `https://api.honeycomb.io/v1/traces`
   - **Custom header name**: `x-honeycomb-team`
   - **Custom header value**: Your Honeycomb API key
4. Select **Save**.

### Configure a logs destination

1. Select **Add destination** again.
2. Configure the destination:
   - **Destination name**: `honeycomb-logs`
   - **Destination type**: *Logs*
   - **OTLP endpoint**: `https://api.honeycomb.io/v1/logs`
   - **Custom header name**: `x-honeycomb-team`
   - **Custom header value**: Your Honeycomb API key
3. Select **Save**.

## 3. Enable export

Creating a destination does not start exporting telemetry. To export [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) or [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/), [configure OpenTelemetry export for your Worker](https://developers.cloudflare.com/workers/observability/opentelemetry-export/). To export [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/), [configure export for your domain](https://developers.cloudflare.com/observability/traces/configuration/#export-traces).

Data may take several minutes to appear in Honeycomb.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/#page","headline":"Export to Honeycomb","description":"Send Cloudflare traces and logs to Honeycomb with OpenTelemetry.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/honeycomb/og.png?v=a91ac1dd9ce63aa2","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Send Cloudflare logs to PostHog with OpenTelemetry.
title: Export to PostHog
image: https://developers.cloudflare.com/observability/export/opentelemetry/posthog/og.png?v=b04f19c37d80595b
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export to PostHog

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/posthog/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

PostHog provides product analytics, logs, and error tracking. Export Cloudflare logs to correlate them with sessions and events.

![PostHog logs view with attributes expanded and a timeline view at the top](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2580,height=1702,format=webp/_astro/posthog-example.DhJh65s7.png)

This guide configures PostHog to receive Cloudflare logs.

## Prerequisites

Before you begin, you need:

- An active [PostHog account ↗︎](https://app.posthog.com/signup)
- Your PostHog project API key
- Cloudflare logs available for export

## 1. Get your PostHog project API key

1. Log in to your [PostHog account ↗︎](https://app.posthog.com/).
2. Go to [**Project settings** ↗︎](https://app.posthog.com/settings/project).
3. Find **Project API key** in the project details.
4. Copy the project API key.

The project API key starts with `phc_`.

## 2. Select your PostHog endpoint

PostHog uses different endpoints for each data region:

| Region | Logs endpoint |
| --- | --- |
| **US** (default) | `https://us.i.posthog.com/i/v1/logs` |
| **EU** | `https://eu.i.posthog.com/i/v1/logs` |

Find your region in your PostHog project settings. Your PostHog URL also contains `us` or `eu`.

## 3. Configure a Cloudflare Observability destination

Caution

PostHog accepts logs through its OpenTelemetry Protocol (OTLP) endpoint. It does not accept traces through OTLP.

1. In the Cloudflare dashboard, go to **Observability** > **Destinations**. [Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)
2. Select **Add destination**.
3. Configure the destination:
   - **Destination name**: `posthog-logs`
   - **Destination type**: *Logs*
   - **OTLP endpoint**: Your PostHog regional logs endpoint
   - **Custom header name**: `Authorization`
   - **Custom header value**: `Bearer <YOUR_PROJECT_API_KEY>`
4. Select **Save**.

![Cloudflare destination configuration for PostHog logs with destination name, type selection, OTLP endpoint, and custom headers](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=1194,height=1180,format=webp/_astro/posthog-example-destination-modal.Dkn5CFBP.png)

## 4. Enable export

Creating a destination does not start exporting logs. To export [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/), [configure OpenTelemetry export for your Worker](https://developers.cloudflare.com/workers/observability/opentelemetry-export/). PostHog does not support [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/) or [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/) through OTLP.

## 5. View logs in PostHog

1. Log in to your [PostHog account ↗︎](https://app.posthog.com/).
2. Go to **Logs**.
3. Review exported severity levels, timestamps, and attributes.

You can filter logs by severity, time range, attributes, and keywords.

## Troubleshooting

### Logs do not appear in PostHog

1. Verify that the API key starts with `phc_`.
2. Confirm that the endpoint matches your PostHog region.
3. Check the destination status in the Cloudflare dashboard.
4. Check whether sampling excludes the expected logs.

### Fix authentication errors

Confirm that the `Authorization` value includes the `Bearer` prefix. Also verify that the project API key remains active.

Alternatively, add the token to the endpoint query string: `https://us.i.posthog.com/i/v1/logs?token=<YOUR_PROJECT_API_KEY>`.

## Related resources

- [PostHog logs documentation ↗︎](https://posthog.com/docs/logs)
- [PostHog getting started with logs ↗︎](https://posthog.com/docs/logs/start-here)
- [OpenTelemetry logs specification ↗︎](https://opentelemetry.io/docs/specs/otel/logs/)

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/posthog/#page","headline":"Export to PostHog","description":"Send Cloudflare logs to PostHog with OpenTelemetry.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/posthog/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/posthog/og.png?v=b04f19c37d80595b","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Send Cloudflare traces and logs to Sentry with OpenTelemetry.
title: Export to Sentry
image: https://developers.cloudflare.com/observability/export/opentelemetry/sentry/og.png?v=247022c35dd41725
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Export to Sentry

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/export/opentelemetry/sentry/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Sentry provides distributed tracing, logs, and application monitoring. Export Cloudflare telemetry to query data and create alerts or dashboards.

![Sentry trace view with timing information displayed on a timeline](https://developers.cloudflare.com/cdn-cgi/image/onerror=redirect,width=2474,height=862,format=webp/_astro/sentry-example.DU-HO2rh.png)

This guide configures Sentry to receive Cloudflare traces and logs.

## Prerequisites

Before you begin, you need an active [Sentry account ↗︎](https://sentry.io/signup/). You also need Cloudflare logs or traces to export.

## 1. Create a Sentry project

Skip this step if you already have a project.

1. Log in to your [Sentry account ↗︎](https://sentry.io/).
2. Go to **Insights** > **Projects**.
3. Select [**New Project** ↗︎](https://sentry.io/orgredirect/organizations/:orgslug/insights/projects/new/).
4. Complete the project form, then select **Create Project**.

## 2. Get your Sentry OTLP endpoints

Sentry provides separate OpenTelemetry Protocol (OTLP) endpoints for traces and logs:

- **Traces**: `https://<HOST>/api/<PROJECT_ID>/integration/otlp/v1/traces`
- **Logs**: `https://<HOST>/api/<PROJECT_ID>/integration/otlp/v1/logs`

1. In Sentry, go to [**Settings** > **Projects** ↗︎](https://sentry.io/orgredirect/organizations/:orgslug/settings/projects/).
2. Select your project.
3. Under **SDK Setup**, select **Client Keys (DSN)**.
4. Copy the OTLP endpoints and authentication header.

For endpoint details, refer to [Sentry OTLP documentation ↗︎](https://docs.sentry.io/concepts/otlp/).

## 3. Configure Cloudflare Observability destinations

In the Cloudflare dashboard, go to **Observability** > **Destinations**.

[Go to **OpenTelemetry** ↗](https://dash.cloudflare.com/?to=/:account/observability/destinations)

### Configure a traces destination

1. Select **Add destination**.
2. Configure the destination:
   - **Destination name**: `sentry-traces`
   - **Destination type**: *Traces*
   - **OTLP endpoint**: Your Sentry OTLP traces endpoint
   - **Custom header name**: `x-sentry-auth`
   - **Custom header value**: `sentry sentry_key=<SENTRY_PUBLIC_KEY>`
3. Select **Save**.

### Configure a logs destination

1. Select **Add destination**.
2. Configure the destination:
   - **Destination name**: `sentry-logs`
   - **Destination type**: *Logs*
   - **OTLP endpoint**: Your Sentry OTLP logs endpoint
   - **Custom header name**: `x-sentry-auth`
   - **Custom header value**: `sentry sentry_key=<SENTRY_PUBLIC_KEY>`
3. Select **Save**.

## 4. Enable export

Creating a destination does not start exporting telemetry. To export [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/) or [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/), [configure OpenTelemetry export for your Worker](https://developers.cloudflare.com/workers/observability/opentelemetry-export/). To export [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/), [configure export for your domain](https://developers.cloudflare.com/observability/traces/configuration/#export-traces).

Data may take several minutes to appear in Sentry.

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/export/opentelemetry/sentry/#page","headline":"Export to Sentry","description":"Send Cloudflare traces and logs to Sentry with OpenTelemetry.","url":"https://developers.cloudflare.com/observability/export/opentelemetry/sentry/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/export/opentelemetry/sentry/og.png?v=247022c35dd41725","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```

---

---
description: Understand Cloudflare Observability ingestion and storage pricing.
title: Pricing
image: https://developers.cloudflare.com/observability/pricing/og.png?v=6b4ce7ba6d5bba9b
---

[Skip to content](#main-content)

> Documentation Index  
> Fetch the complete documentation index at: https://developers.cloudflare.com/observability/llms.txt  
> Use this file to discover all available pages before exploring further.

# Pricing

Last updated Oct 2, 2026|Copy as Markdown| [View as Markdown](https://developers.cloudflare.com/observability/pricing/index.md)| [Agent setup](https://developers.cloudflare.com/agent-setup/)

Beginning December 1, 2026, all Cloudflare logs and traces will use the same pricing model. Unsampled security datasets have a different price point of $1 per GB ingested and include 30-day retention. Queries, dashboards, alerts, and analytics do not incur additional charge.

Refer to [Datasets](https://developers.cloudflare.com/observability/logs/datasets/) to review the price point and retention for each dataset.

## Included in the new Observability pricing

The following logs and traces share account-level ingestion and storage allowances:

- [Cloudflare Traces](https://developers.cloudflare.com/observability/traces/)
- [Workers Logs](https://developers.cloudflare.com/workers/observability/logs/workers-logs/)
- [Workers Traces](https://developers.cloudflare.com/workers/observability/traces/)
- [Containers logs](https://developers.cloudflare.com/containers/faq/#how-do-container-logs-work)
- [R2 Data Access Logs](https://developers.cloudflare.com/r2/buckets/data-access-logs/)
- [AI Gateway logs](https://developers.cloudflare.com/ai-gateway/observability/logging/)
- [Issues](https://developers.cloudflare.com/workers/observability/issues/)

### Plans

| Plan | Included ingestion | Included storage | Additional ingestion | Additional storage |
| --- | --- | --- | --- | --- |
| Free | 0.5 GB per day | Seven-day retention included | Not available | Not separately metered |
| Paid | 50 GB per billing cycle | 12 GB-month per billing cycle | $0.25 per GB | $0.10 per GB-month |

Enterprise accounts move to this pricing when their contract renews. Until then, existing contract terms apply.

Paid usage continues automatically after an allowance is exhausted. Ingestion and storage are separate meters, so unused ingestion allowance cannot be applied to storage or the reverse. Allowances do not roll over between billing cycles.

You will be able to view your current ingestion and storage usage, remaining allowances, and estimated charges in **Billable Usage**.

On Free, Cloudflare stops ingesting new data when the account reaches its daily limit. Ingestion resumes when the allowance resets at 00:00 UTC. Stored data remains queryable for its seven-day retention period.

### How usage is measured

#### Ingestion

Ingestion includes the event body, the default enriched attributes, and custom attributes. Ingestion is pre-compression and does not include dropped events. Sampling data before storage reduces both ingestion and storage usage.

#### Storage

Storage is measured in GB-month using the maximum amount of queryable data stored each day:

> **GB-month = sum of each day's maximum queryable GB / 30**

For example, 1 GB that remains queryable for 30 days contributes 1 GB-month. Data stops contributing to storage usage when it is no longer queryable.

### Example

Suppose a Paid account uses 75 GB of ingestion and 20 GB-month of storage during one billing cycle:

| Usage | Calculation | Additional charge |
| --- | --- | --- |
| Ingestion | (75 GB - 50 GB included) x $0.25 | $6.25 |
| Storage | (20 GB-month - 12 GB-month included) x $0.10 | $0.80 |
| Total | $6.25 + $0.80 | $7.05 |

### Longer retention

Logs and traces in the shared allowance have a default seven-day retention. Unsampled security datasets include 30-day retention. Cloudflare plans to add configurable 30, 90, and 365-day retention periods in the future.

### Existing customers

Existing Workers Observability customers on Free, Pro, and Business plans automatically move to this pricing on December 1, 2026. Ingestion charges apply only to data received on or after that date. Enterprise accounts move at contract renewal.

For Paid accounts, data retained on December 1 begins contributing to storage usage from that date. Usage before December 1 is not charged retroactively.

## Unsampled security datasets (legacy Log Explorer)

Unsampled security datasets are the datasets previously available in Log Explorer. They preserve complete event fidelity and use a different ingestion price point. Their usage does not consume the pooled allowances in [Plans](#plans).

| Ingestion | Retention | Queries |
| --- | --- | --- |
| $1 per GB ingested | 30 days | No additional charge |

Was this helpful?

YesNo

## On this page

[![](https://developers.cloudflare.com/_astro/logo.te5VL_aD.svg)Docs](https://developers.cloudflare.com/)

```json
{"@context":"https://schema.org","@type":"TechArticle","@id":"https://developers.cloudflare.com/observability/pricing/#page","headline":"Pricing","description":"Understand Cloudflare Observability ingestion and storage pricing.","url":"https://developers.cloudflare.com/observability/pricing/","inLanguage":"en","image":"https://developers.cloudflare.com/observability/pricing/og.png?v=6b4ce7ba6d5bba9b","dateModified":"2026-10-02","publisher":{"@type":"Organization","name":"Cloudflare","description":"One platform for your apps, agents, and workforce. Build, secure, and scale without managing infrastructure","url":"https://www.cloudflare.com/","sameAs":["https://github.com/cloudflare","https://www.linkedin.com/company/cloudflare","https://x.com/cloudflare"],"logo":{"@type":"ImageObject","url":"https://developers.cloudflare.com/logo.svg"},"address":{"@type":"PostalAddress","streetAddress":"101 Townsend St","addressLocality":"San Francisco","addressRegion":"CA","postalCode":"94107","addressCountry":"US"},"contactPoint":[{"@type":"ContactPoint","contactType":"Customer Support","url":"https://support.cloudflare.com/","availableLanguage":["English"]},{"@type":"ContactPoint","contactType":"Sales","url":"https://www.cloudflare.com/contact/","availableLanguage":["English"]}]},"isPartOf":{"@type":"WebSite","@id":"https://developers.cloudflare.com/#website","name":"Cloudflare Docs","url":"https://developers.cloudflare.com/"}}
```
