logfire-api 4.31.1__tar.gz → 4.31.2__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {logfire_api-4.31.1 → logfire_api-4.31.2}/PKG-INFO +1 -1
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/sampling/_tail_sampling.pyi +20 -5
- {logfire_api-4.31.1 → logfire_api-4.31.2}/pyproject.toml +1 -1
- {logfire_api-4.31.1 → logfire_api-4.31.2}/.gitignore +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/README.md +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/__init__.py +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/ast_utils.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/async_.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/auth.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/auto_trace/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/auto_trace/import_hook.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/auto_trace/rewrite_ast.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/auto_trace/types.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/baggage.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/cli/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/cli/auth.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/cli/prompt.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/cli/run.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/cli.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/collect_system_info.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/config.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/config_params.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/constants.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/db_statement_summary.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/console.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/dynamic_batch.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/logs.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/otlp.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/processor_wrapper.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/quiet_metrics.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/remove_pending.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/tail_sampling.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/wrapper.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/formatter.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/instrument.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/aiohttp_client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/aiohttp_server.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/asgi.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/asyncpg.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/aws_lambda.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/celery.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/claude_agent_sdk.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/django.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/dspy.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/executors.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/fastapi.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/flask.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/google_genai.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/httpx.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/litellm.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/mcp.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/mysql.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/openai_agents.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/print.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/psycopg.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/pydantic_ai.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/pymongo.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/pytest.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/redis.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/requests.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/sqlalchemy.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/sqlite3.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/starlette.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/surrealdb.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/system_metrics.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/wsgi.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/json_encoder.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/json_formatter.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/json_schema.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/json_types.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/logs.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/main.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/metrics.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/scrubbing.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/stack_info.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/tracer.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/ulid.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/utils.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/cli.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/db_api.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/exceptions.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/annotations.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/api_client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/datasets/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/forwarding.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/experimental/query_client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/aiohttp_client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/flask.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/httpx.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/logging.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/loguru.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/psycopg.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/pydantic.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/redis.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/sqlalchemy.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/structlog.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/integrations/wsgi.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/propagate.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/py.typed +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/query_client.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/sampling/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/types.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/__init__.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/abstract.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/config.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/local.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/remote.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/variables/variable.pyi +0 -0
- {logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/version.pyi +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: logfire-api
|
|
3
|
-
Version: 4.31.
|
|
3
|
+
Version: 4.31.2
|
|
4
4
|
Summary: Shim for the Logfire SDK which does nothing unless Logfire is installed
|
|
5
5
|
Author-email: Pydantic Team <engineering@pydantic.dev>, Samuel Colvin <samuel@pydantic.dev>, Hasan Ramezani <hasan@pydantic.dev>, Adrian Garcia Badaracco <adrian@pydantic.dev>, David Montague <david@pydantic.dev>, Marcelo Trylesinski <marcelo@pydantic.dev>, David Hewitt <david.hewitt@pydantic.dev>, Alex Hall <alex@pydantic.dev>
|
|
6
6
|
License-Expression: MIT
|
|
@@ -3,6 +3,7 @@ from dataclasses import dataclass
|
|
|
3
3
|
from functools import cached_property
|
|
4
4
|
from logfire._internal.constants import LevelName as LevelName, ONE_SECOND_IN_NANOSECONDS as ONE_SECOND_IN_NANOSECONDS
|
|
5
5
|
from logfire._internal.exporters.wrapper import WrapperSpanProcessor as WrapperSpanProcessor
|
|
6
|
+
from logfire._internal.utils import suppress_instrumentation as suppress_instrumentation
|
|
6
7
|
from logfire.types import SpanLevel as SpanLevel
|
|
7
8
|
from opentelemetry import context
|
|
8
9
|
from opentelemetry.sdk.trace import ReadableSpan, Span, SpanProcessor
|
|
@@ -18,8 +19,7 @@ class TraceBuffer:
|
|
|
18
19
|
"""
|
|
19
20
|
started: list[tuple[Span, context.Context | None]]
|
|
20
21
|
ended: list[ReadableSpan]
|
|
21
|
-
|
|
22
|
-
def first_span(self) -> Span: ...
|
|
22
|
+
first_span: Span
|
|
23
23
|
@cached_property
|
|
24
24
|
def trace_id(self) -> int: ...
|
|
25
25
|
|
|
@@ -60,14 +60,29 @@ class SamplingOptions:
|
|
|
60
60
|
def check_trace_id_ratio(trace_id: int, rate: float) -> bool: ...
|
|
61
61
|
|
|
62
62
|
class TailSamplingProcessor(WrapperSpanProcessor):
|
|
63
|
-
"""
|
|
63
|
+
"""Buffers spans until a span in the trace meets the sampling criteria.
|
|
64
|
+
|
|
65
|
+
The wrapped `processor` receives `on_start` calls immediately (most processors just set attributes,
|
|
66
|
+
which is safe before the sampling decision). Only `on_end` is buffered.
|
|
67
|
+
|
|
68
|
+
The optional `deferred_processor` has both `on_start` and `on_end` buffered until the sampling
|
|
69
|
+
decision. Use this for processors like `PendingSpanProcessor` that create new spans in `on_start`.
|
|
70
|
+
Advanced users can mark their own processors for deferral by setting the
|
|
71
|
+
`tail_sampling_defer_on_start` attribute to `True` on the processor class.
|
|
72
|
+
"""
|
|
64
73
|
get_tail_sample_rate: Incomplete
|
|
74
|
+
deferred_processor: Incomplete
|
|
65
75
|
traces: dict[int, TraceBuffer]
|
|
66
76
|
lock: Incomplete
|
|
67
|
-
def __init__(self, processor: SpanProcessor, get_tail_sample_rate: Callable[[TailSamplingSpanInfo], float]) -> None: ...
|
|
77
|
+
def __init__(self, processor: SpanProcessor, get_tail_sample_rate: Callable[[TailSamplingSpanInfo], float], deferred_processor: SpanProcessor | None = None) -> None: ...
|
|
68
78
|
def on_start(self, span: Span, parent_context: context.Context | None = None) -> None: ...
|
|
69
79
|
def on_end(self, span: ReadableSpan) -> None: ...
|
|
70
80
|
def check_span(self, span_info: TailSamplingSpanInfo) -> bool:
|
|
71
|
-
"""If the span meets the sampling criteria, drop the buffer and return True. Otherwise, return False.
|
|
81
|
+
"""If the span meets the sampling criteria, drop the buffer and return True. Otherwise, return False.
|
|
82
|
+
|
|
83
|
+
Must be called within self.lock since it modifies self.traces via drop_buffer.
|
|
84
|
+
"""
|
|
72
85
|
def drop_buffer(self, buffer: TraceBuffer) -> None: ...
|
|
73
86
|
def push_buffer(self, buffer: TraceBuffer) -> None: ...
|
|
87
|
+
def shutdown(self) -> None: ...
|
|
88
|
+
def force_flush(self, timeout_millis: int = 30000) -> bool: ...
|
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "logfire-api"
|
|
7
|
-
version = "4.31.
|
|
7
|
+
version = "4.31.2"
|
|
8
8
|
description = "Shim for the Logfire SDK which does nothing unless Logfire is installed"
|
|
9
9
|
authors = [
|
|
10
10
|
{ name = "Pydantic Team", email = "engineering@pydantic.dev" },
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/processor_wrapper.pyi
RENAMED
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/exporters/remove_pending.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/aiohttp_client.pyi
RENAMED
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/aiohttp_server.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/claude_agent_sdk.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/google_genai.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/openai_agents.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/pydantic_ai.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{logfire_api-4.31.1 → logfire_api-4.31.2}/logfire_api/_internal/integrations/system_metrics.pyi
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|