You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The Audit Logs API lets you retrieve activity logs for your organization. This feature is available on the [Enterprise plan](./enterprise.md) only.
8
+
The Audit Logs API lets you retrieve activity logs for your organization. This feature is available for Enterprise Cloud organizations and self-hosted deployments.
9
9
10
10
Each log entry records user actions: logins, project updates, token changes, and more. Use it for security monitoring, compliance reporting, and usage auditing.
11
11
@@ -20,7 +20,7 @@ Each log entry records user actions: logins, project updates, token changes, and
20
20
21
21
## Authentication
22
22
23
-
Requests are authenticated with a Bearer token scoped to `organizations:auditlog`. See [API Keys docs](./reference/advanced//use-api-keys.md) for instructions on how to generate one.
23
+
Requests are authenticated with a Bearer token scoped to `organization:auditlog`. See [API Keys docs](./reference/advanced/use-api-keys.md) for instructions on how to generate one.
|**Setup**| 3 lines of code | OTel-based (several lines of code) |
@@ -73,7 +73,7 @@ logfire.instrument_openai()
73
73
74
74
Three lines, and you're observing AI calls with full application context.
75
75
76
-
**Arize Phoenix**requires more configuration, especially for non-AI instrumentation.
76
+
**Arize Phoenix**is OpenTelemetry-based, but Logfire provides more opinionated shortcuts for application and AI instrumentation in one SDK.
77
77
78
78
### Query Interface — Essential for Agentic Coding
79
79
@@ -86,7 +86,7 @@ Three lines, and you're observing AI calls with full application context.
86
86
87
87
When you're iterating on AI applications with coding agents, the agent needs to understand production behavior. With SQL, it can ask any question. With proprietary interfaces, it's constrained to anticipated queries.
88
88
89
-
**Arize Phoenix** has its own query interface optimized for ML metrics but less flexible for ad-hoc analysis.
89
+
**Arize Phoenix** has query tools optimized for ML and trace workflows, but Logfire exposes a PostgreSQL-compatible SQL interface for ad-hoc analysis.
@@ -55,7 +55,7 @@ Datadog is a comprehensive enterprise monitoring platform. Logfire is an AI-nati
55
55
56
56
### AI/LLM Support
57
57
58
-
**Datadog**added LLM observability as a separate product. It works, but AI isn't central to the platform's design.
58
+
**Datadog**has an LLM Observability product, including SDK and OpenTelemetry GenAI ingestion options. It is part of a broad enterprise monitoring platform rather than the central design point of the product.
59
59
60
60
**Logfire** was built for the AI era. [One function call](https://pydantic.dev/docs/logfire/integrations/?utm_source=datadog_comparison_docs) (`logfire.instrument_openai()`) gives you:
61
61
@@ -67,13 +67,13 @@ Datadog is a comprehensive enterprise monitoring platform. Logfire is an AI-nati
67
67
68
68
### OpenTelemetry
69
69
70
-
**Datadog**uses proprietary agents. While they support OTel export, it's not the native path.
70
+
**Datadog**supports OpenTelemetry ingestion, including GenAI semantic-convention traces for LLM Observability, while much of the broader Datadog experience still uses Datadog agents and product-specific setup.
71
71
72
72
**Logfire** is OpenTelemetry-native with [first-class integrations for most technologies](https://pydantic.dev/docs/logfire/integrations/?utm_source=datadog_comparison_docs). Any OTel instrumentation works automatically. Your instrumentation is portable: if you ever want to switch, your code doesn't change.
73
73
74
74
### Query Language — Essential for Agentic Coding
75
75
76
-
**Datadog** uses a proprietary query language for dashboards and analysis. This creates limitations:
76
+
**Datadog** uses product-specific query tools for dashboards and analysis. Compared with a PostgreSQL-compatible SQL interface, this creates tradeoffs:
77
77
78
78
- Learning curve for humans and AI alike
79
79
- Coding agents are constrained to anticipated queries
@@ -86,7 +86,7 @@ Datadog is a comprehensive enterprise monitoring platform. Logfire is an AI-nati
86
86
-**Agentic workflows** — When coding agents debug your AI application, they can write arbitrary queries
87
87
-**Familiar syntax** — No new query language to learn
88
88
89
-
When you're iterating on AI applications with coding agents, the agent needs to understand production behavior. With SQL, it can ask any question. With proprietary DSLs, it's constrained to what someone anticipated.
89
+
When you're iterating on AI applications with coding agents, the agent needs to understand production behavior. With SQL, it can ask any question. With product-specific query interfaces, it may be constrained by the available interface for that product area.
@@ -48,14 +48,9 @@ Sentry is a mature error monitoring platform. Logfire is an AI-native observabil
48
48
49
49
### AI/LLM Support
50
50
51
-
**Sentry**treats AI calls like any other function. You'll see that an error occurred, but you won't see:
51
+
**Sentry**now has AI Performance and LLM monitoring features for supported SDKs and integrations. Those features are useful when your workflow is already centered on Sentry's error and performance tooling.
52
52
53
-
- What prompt was sent
54
-
- What the model responded
55
-
- Token usage and costs
56
-
- Tool calls and their results
57
-
58
-
**Logfire** was built for AI applications. One function call gives you complete LLM visibility:
53
+
**Logfire** was built for AI applications and full-stack telemetry from the start. One function call gives you LLM visibility alongside the rest of your OpenTelemetry data:
59
54
60
55
```python skip="true" skip-reason="incomplete"
61
56
import logfire
@@ -71,7 +66,7 @@ logfire.instrument_openai() # That's it
71
66
72
67
### SQL-Powered Analytics — Essential for Agentic Coding
73
68
74
-
**Sentry** uses a custom UI for querying and filtering.
69
+
**Sentry** uses custom query and exploration UIs for querying and filtering.
75
70
76
71
**Logfire** uses SQL with PostgreSQL-compatible syntax. This is a significant advantage for AI-assisted development:
Copy file name to clipboardExpand all lines: docs/enterprise.md
+2-2Lines changed: 2 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -14,9 +14,9 @@ In addition to the [Team and Growth plans](https://pydantic.dev/pricing), Pydant
14
14
15
15
## Enterprise Single Sign-On (SSO)
16
16
17
-
Logfire Enterprise supports SSO through [Dex](https://github.com/dexidp/dex), an open-source OIDC gateway. The same Dex configuration model works across Enterprise Cloud, Enterprise Dedicated, and Enterprise Self-Hosted deployments.
17
+
Logfire Enterprise SSO is built on [Dex](https://github.com/dexidp/dex), an open-source OIDC gateway.
18
18
19
-
Dex works with common identity providers including Okta, Azure AD, Auth0, Google Workspace, LDAP/AD, and generic OIDC or SAML providers.
19
+
Enterprise Cloud and Enterprise Dedicated support managed OIDC identity providers such as Okta, Microsoft Azure Entra ID, and Keycloak. Self-hosted deployments configure Dex directly through Helm values, so they can use any connector supported by Dex, including OIDC, SAML, LDAP, GitHub, and Google.
Copy file name to clipboardExpand all lines: docs/evaluate/datasets/ui.md
+4-2Lines changed: 4 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -68,7 +68,7 @@ Once created, you can edit the dataset to add a description and define schemas.
68
68
From the dataset detail page, click **Edit** to modify the dataset's configuration. The edit form has two sections:
69
69
70
70
-**General**: Name and description.
71
-
-**Schemas**: Define JSON schemas for inputs, expected outputs, and metadata. Use the **Generate schema**toggle to have Pydantic AI create schemas from a natural language description of your data shape.
71
+
-**Schemas**: Define JSON schemas for inputs, expected outputs, and metadata. Use the **Generate schema**action to have Pydantic AI create schemas from a natural language description of your data shape.
72
72
73
73
## Managing Cases
74
74
@@ -134,11 +134,13 @@ This preserves a link back to the source trace, so you always know where a test
134
134
From the dataset detail page, click **Export** to download the dataset in one of two formats:
135
135
136
136
-**JSON**: Raw JSON representation of all cases.
137
-
-**pydantic-evals**: A YAML format compatible with `pydantic_evals.Dataset.from_file()`.
137
+
-**Python (pydantic-evals)**: JSON in the pydantic-evals-compatible `{name, cases, evaluators, report_evaluators}` shape, suitable for loading with `pydantic_evals.Dataset.from_dict()`.
138
138
139
139
## What's Next?
140
140
141
141
Once you have cases in a dataset, you can:
142
142
143
+
- Add dataset-level or report-level evaluators from the dataset detail page's **Evaluators** tab.
144
+
143
145
- Run evaluations against it — see [Running Evaluations](evaluations.md).
144
146
- View and compare experiment results — see [Evals: Datasets & Experiments](../../guides/web-ui/evals.md#viewing-experiments).
Copy file name to clipboardExpand all lines: docs/gateway-migration.md
+6-8Lines changed: 6 additions & 8 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -3,19 +3,19 @@ title: "Migrating from Pydantic AI Gateway"
3
3
description: "How to migrate from the legacy gateway.pydantic.dev to the AI Gateway on Pydantic Logfire."
4
4
---
5
5
6
-
# Pydantic AI Gateway is Moving to Pydantic Logfire
6
+
# Pydantic AI Gateway Has Moved to Pydantic Logfire
7
7
8
-
We're consolidating the AI Gateway into Logfire. This means[gateway.pydantic.dev](https://gateway.pydantic.dev/)is being deprecated, and the gateway is now managed through your Logfire account.
8
+
The AI Gateway has moved into Logfire. The legacy[gateway.pydantic.dev](https://gateway.pydantic.dev/)platform has reached end of life, and the gateway is now managed through your Logfire account.
9
9
10
10
## Shutdown Timeline
11
11
12
12
| Date | Event |
13
13
|------|-------|
14
-
|**15 March 2026**| Self-service refunds available in the legacy gateway platform |
14
+
|**15 March 2026**| Self-service refunds became available in the legacy gateway platform |
15
15
|**13 April 2026 at 3pm UTC**| Legacy gateway fully shut down (end of life) |
16
-
|**By end of April 2026**| Automatic refunds processed for any remaining balances |
16
+
|**By end of April 2026**| Automatic refunds were processed for any remaining balances |
17
17
18
-
**Please migrate before 13 April 2026.**If you need help, email us at [engineering@pydantic.dev](mailto:engineering@pydantic.dev).
18
+
If you still need help after the shutdown, email us at [engineering@pydantic.dev](mailto:engineering@pydantic.dev).
19
19
20
20
## Why We Made This Change
21
21
@@ -32,9 +32,7 @@ Moving the gateway into Logfire unlocks a number of improvements:
32
32
33
33
### What happens to my current balance?
34
34
35
-
From **15 March 2026**, you can request a refund of your remaining balance via the button in the [legacy gateway platform](https://gateway.pydantic.dev). The refund will be issued to the original payment method you used.
36
-
37
-
If you do not request a refund manually, any outstanding credits will be refunded automatically before the end of April 2026.
35
+
Self-service refunds became available on **15 March 2026** in the [legacy gateway platform](https://gateway.pydantic.dev). Any outstanding credits that were not requested manually were scheduled for automatic refund before the end of April 2026.
Copy file name to clipboardExpand all lines: docs/guides/web-ui/alerts.md
+10-9Lines changed: 10 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -10,8 +10,8 @@ With **Logfire**, use Alerts to notify you when certain conditions are met.
10
10
11
11
Let's see in practice how to create an alert.
12
12
13
-
1. Go to the **Alerts** tab in the left sidebar.
14
-
2. Click the **Create alert** button.
13
+
1. Go to **Notify** → **Alerts** in the left sidebar.
14
+
2. Click the **New Alert** button.
15
15
16
16
Then you'll see the following form:
17
17
@@ -34,10 +34,13 @@ WHERE
34
34
1. The `SELECT ... FROM records` statement is the base query that will be executed. The **records** table contains the spans and logs data. `trace_id` links to the trace in the live view when viewing the alert run results in the web UI.
35
35
2. The `attributes` field is a JSON field that contains additional information about the record. In this case, we're using the `http.route` attribute to filter the records by route.
36
36
37
-
The **Time window**field allows you to specify the time range over which the query will be executed.
37
+
Use the **Notifications**section to choose:
38
38
39
-
The **Webhook URL** field is where you can specify a URL to which the alert will send a POST request when triggered.
40
-
For now, **Logfire** alerts only send the requests in [Slack format].
39
+
-**Include rows from**: the time window of data included every time the query runs.
40
+
-**Run the query**: how often Logfire executes the query.
41
+
-**Notify me when**: which result condition sends a notification.
42
+
43
+
Select one or more notification channels for delivery. If you have not created a channel yet, go to **Notify** → **Delivery** → **Channels** and click **New channel**. For Slack, create a Slack incoming webhook and choose the Slack channel type.
41
44
42
45
??? tip "Get a Slack webhook URL"
43
46
To get a Slack webhook URL, follow the instructions in the [Slack documentation](https://api.slack.com/messaging/webhooks).
@@ -84,14 +87,12 @@ Otherwise, you'll see the number of matches highlighted in orange.
84
87
85
88

86
89
87
-
In this case, you'll also receive a notification in the Webhook URL you've set up.
90
+
In this case, you'll also receive notifications in the channels you've selected.
88
91
89
92
## Edit an alert
90
93
91
-
You can configure an alert by clicking on the **Configuration** button on the right side of the alert.
94
+
You can configure an alert by opening it from the alerts list and clicking **Edit Alert**.
You can update the alert, or delete it by clicking the **Delete** button. If instead of deleting the alert, you want to disable it, you can click on the **Active** switch.
0 commit comments