Skip to main content

fastotel

PyPI Python CI License

A Rust-backed drop-in for the OpenTelemetry Python SDK that takes tracing overhead off the request path.

Status: pre-alpha. OTLPSpanProcessor sends spans over OTLP/HTTP, but only some of their fields so far (ids, name, kind, times, string attributes), with no retries, gzip or OTEL_* configuration, and a process forked after the first span exports nothing from the child. The road to 1.0 is in #5.

Why

Instrumentation packages (FastAPI, httpx, SQLAlchemy, aiokafka, …) depend only on opentelemetry-api. fastotel replaces parts of opentelemetry-sdk behind that API, so existing instrumentation keeps working.

In the pure-Python SDK, the BatchSpanProcessor worker thread encodes OTLP protobuf, gzips and sends spans while holding the GIL, so it competes for CPU with request handling. In Rust, batching, encoding, compression and export run on a thread that never takes the GIL.

Installation

pip install fastotel

Wheels are built for Linux (glibc and musl), macOS and Windows, x86_64 and arm64:

Python Wheel Tested in CI
CPython 3.11, 3.12, 3.13, 3.14 one abi3 wheel per platform, which also covers later versions yes
CPython 3.14t, free-threaded cp314t; the GIL stays off after import yes
CPython 3.15 (pre-release) the abi3 wheel yes
CPython 3.15t (pre-release) none yet: builds from the sdist; a wheel ships with 3.15.0 yes, from source

CPython 3.10 reached end of life on 2026-10-01 and is not supported. Free-threaded 3.13t is not supported either: it was experimental, and PyO3 builds free-threaded extensions from 3.14 on.

Usage

fastotel replaces BatchSpanProcessor with OTLPSpanExporter; the SDK keeps creating spans:

from opentelemetry import trace
from opentelemetry.sdk.trace import TracerProvider
from fastotel import OTLPSpanProcessor

provider = TracerProvider()
provider.add_span_processor(OTLPSpanProcessor(endpoint="http://localhost:4318/v1/traces"))
trace.set_tracer_provider(provider)

endpoint is the URL spans are posted to, /v1/traces included, as for OTLPSpanExporter; the one above is the default. on_end copies the span into Rust and returns; a native thread, started by the first span, batches, encodes and sends spans without taking the GIL. As with BatchSpanProcessor, only sampled spans are exported, a batch leaves at 512 spans or every 5 seconds, and spans beyond a queue of 2048 are dropped.

Development

Needs uv and a Rust toolchain (rustup).

make install   # build the extension, install the dev dependencies
make test      # run the tests, those of the Rust export pipeline (crates/export) too
make lint      # ruff, mypy, cargo fmt, clippy
make bench     # what the stock SDK costs an application, on a GIL and a free-threaded build (~30 min)

Every change that reaches master is a release: a pull request bumps the version in pyproject.toml (uv version --bump patch) and adds its section to CHANGELOG.md.

License

MIT

Metadata

Release files for fastotel 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for fastotel 0.4.0
File Size Uploaded
fastotel-0.4.0.tar.gz 91.8 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fastotel 0.4.0
File
fastotel-0.4.0-cp314-cp314t-win_arm64.whl CPython 3.14 CPython 3.14 free-threading Windows ARM64 Details
fastotel-0.4.0-cp314-cp314t-win_amd64.whl CPython 3.14 CPython 3.14 free-threading Windows x86-64 Details
fastotel-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 Details
fastotel-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64 Details
fastotel-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Details
fastotel-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64 Details
fastotel-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 Details
fastotel-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64 Details
fastotel-0.4.0-cp311-abi3-win_arm64.whl CPython 3.11 abi3 Windows ARM64 Details
fastotel-0.4.0-cp311-abi3-win_amd64.whl CPython 3.11 abi3 Windows x86-64 Details
fastotel-0.4.0-cp311-abi3-musllinux_1_2_x86_64.whl CPython 3.11 abi3 Linux musl 1.2+ x86-64 Details
fastotel-0.4.0-cp311-abi3-musllinux_1_2_aarch64.whl CPython 3.11 abi3 Linux musl 1.2+ ARM64 Details
fastotel-0.4.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.11 abi3 Linux glibc 2.17+ x86-64 Details
fastotel-0.4.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.11 abi3 Linux glibc 2.17+ ARM64 Details
fastotel-0.4.0-cp311-abi3-macosx_11_0_arm64.whl CPython 3.11 abi3 macOS 11.0+ ARM64 Details
fastotel-0.4.0-cp311-abi3-macosx_10_12_x86_64.whl CPython 3.11 abi3 macOS 10.12+ x86-64 Details

Total release size: 23.4 MB

Release files / fastotel-0.4.0.tar.gz

Download URL fastotel-0.4.0.tar.gz
Size 91.8 kB
Tags Source
SHA-256 checksum
How to use checksums
2caefdbb018c9a9e96dd0c3cebaac18da24ef722bb9870f06d7ce2d61eb75313
BLAKE2b-256 checksum
How to use checksums
5169eb21a99895787c67eaa24c7643042ac8146bc235dc1ac02f2de2977acae8
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-win_arm64.whl

Download URL fastotel-0.4.0-cp314-cp314t-win_arm64.whl
Size 1.1 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows ARM64
SHA-256 checksum
How to use checksums
f430d3a8107ddea0537e624d4beb9694328681c05c9ca1a91294a6a43a590de8
BLAKE2b-256 checksum
How to use checksums
769c7a12e316b3847534a2515e0b463708c85c3f5548b7b6c6c277d208dcf503
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-win_amd64.whl

Download URL fastotel-0.4.0-cp314-cp314t-win_amd64.whl
Size 1.2 MB
Tags CPython 3.14 CPython 3.14 free-threading Windows x86-64
SHA-256 checksum
How to use checksums
5bd25c1541f71be0c9cda6340eedcaec208305807a6d812e36c479e41a6738b1
BLAKE2b-256 checksum
How to use checksums
850aab73da2edde2f7047ddd8db45df2bb6ce3a66277db60c21d76b06fd66644
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl

Download URL fastotel-0.4.0-cp314-cp314t-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64
SHA-256 checksum
How to use checksums
dc367cdfa205e2545150d8a1746466013989605a2b376af76c9864288789e502
BLAKE2b-256 checksum
How to use checksums
6c1b06ae1015e72e48cb47da86f30a4c29643d81127dd6cea8e7cce414613c82
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl

Download URL fastotel-0.4.0-cp314-cp314t-musllinux_1_2_aarch64.whl
Size 1.7 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ ARM64
SHA-256 checksum
How to use checksums
101d054b5aacc3e86e63bb05b216d3231b0858f096896056d4f528a3cf45c347
BLAKE2b-256 checksum
How to use checksums
ac99821050840ff7561e3c27c5221bb21cb971acd47ab464ad73e0912338528c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastotel-0.4.0-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64
SHA-256 checksum
How to use checksums
0548e17dc06d112217534066f7117b4baa6a90d850c8ec90692ae966be15032d
BLAKE2b-256 checksum
How to use checksums
0e630dc3b2c35563b2f6f80b3f8ca033dd631f0fa26e8414cd23bfe9eb4f76c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastotel-0.4.0-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ ARM64
SHA-256 checksum
How to use checksums
e4c607be75fe0a7885732d95903d307551627577355901138b0b8d0cfad11f32
BLAKE2b-256 checksum
How to use checksums
b27f1a6771ec9c3e16abdd819c50fe2541a983d947b6f8ccc9e1b15453f8ee83
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl

Download URL fastotel-0.4.0-cp314-cp314t-macosx_11_0_arm64.whl
Size 1.3 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
813beed4f4d356198be7bcf7f1d874ae49d002baa16dc8dd3ab8490b74456f40
BLAKE2b-256 checksum
How to use checksums
cc8a12e6925e9acd239edfef9589d104471f6815bb9ce821459d705b05f2b1cc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl

Download URL fastotel-0.4.0-cp314-cp314t-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.14 CPython 3.14 free-threading macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c24909114c19e7981f2a753beec79ad3d11fdc3e2a09dd20dcf5b89dd478601b
BLAKE2b-256 checksum
How to use checksums
a3800f68958a448090b76543bf386ae661fcf623d55b8d8bac67244763fc1290
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-win_arm64.whl

Download URL fastotel-0.4.0-cp311-abi3-win_arm64.whl
Size 1.1 MB
Tags CPython 3.11 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
d0499a887b161cc5cd901ac17c854cca923682f059ef20cb054e054d7029af83
BLAKE2b-256 checksum
How to use checksums
5f76e88fdeda90242b8496093a5a6818f05eb546bc15395f40f226323bc07d8c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-win_amd64.whl

Download URL fastotel-0.4.0-cp311-abi3-win_amd64.whl
Size 1.2 MB
Tags CPython 3.11 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c27d41b82eabfa5cc080678892d0a81003414fc796fb9925a179dc948d69cca8
BLAKE2b-256 checksum
How to use checksums
e418974026637a72a771cea8cf8e4645da86e1ccf3444b65087b6a3b1a8f19c5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-musllinux_1_2_x86_64.whl

Download URL fastotel-0.4.0-cp311-abi3-musllinux_1_2_x86_64.whl
Size 1.8 MB
Tags CPython 3.11 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
9a294a7f8b50afdb819d5482dd0b3a81e95423115f905ba7e371e0a4feb87726
BLAKE2b-256 checksum
How to use checksums
5cf1bf777a9b76e812d6d08e72a499b4629f1edaf661f0b8cee8633c3ee7f7fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-musllinux_1_2_aarch64.whl

Download URL fastotel-0.4.0-cp311-abi3-musllinux_1_2_aarch64.whl
Size 1.7 MB
Tags CPython 3.11 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
73927618361f78e69b142558dbfa50cc700754695db651a88ade5185c9fe7506
BLAKE2b-256 checksum
How to use checksums
d2ba9d0f72c3c28380efbf8365a2961d385ba208c38d13b898d41e817282e8d4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fastotel-0.4.0-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.6 MB
Tags CPython 3.11 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
1359a15367587f0b3a03ab436bce42a03c8e1f54078e368ec9b2e489a6e99245
BLAKE2b-256 checksum
How to use checksums
e405c6334125b39929b5c181bc23002829ce722be18cce13ca9e8d3e4332f6a1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fastotel-0.4.0-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.5 MB
Tags CPython 3.11 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
cd495f307e275e511fb98b4e7049c6a6a9d3c754cfa5e72cb1268d3123f16494
BLAKE2b-256 checksum
How to use checksums
79fcfcbf3909add89a9cf87f85a32aa4de531ebfcd40d7aa273275c0ba9ec65f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-macosx_11_0_arm64.whl

Download URL fastotel-0.4.0-cp311-abi3-macosx_11_0_arm64.whl
Size 1.3 MB
Tags CPython 3.11 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
88e88a570365c713e6779d5bb534b38e96dfec88879e578a39b9573dd419453d
BLAKE2b-256 checksum
How to use checksums
4b8c7823b060d63f80819734c11e3a161d11ddda782222d3b197cb9e37ecd337
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release files / fastotel-0.4.0-cp311-abi3-macosx_10_12_x86_64.whl

Download URL fastotel-0.4.0-cp311-abi3-macosx_10_12_x86_64.whl
Size 1.4 MB
Tags CPython 3.11 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
393af8bb841a6df8a911edd1e28604fb39bed142f05a0688be5ef360d00cbbe3
BLAKE2b-256 checksum
How to use checksums
6b7c0cee2f9f2c2932ff422d448b3264760bbd57c82cb357c26aacebc39d8d62
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 10, 2026.

Transparency log

Release history Release notifications | RSS feed

0.9.0

17 release files

0.8.0

17 release files

0.7.0

17 release files

0.6.0

17 release files

0.5.0

17 release files

This release

0.4.0 This release

17 release files

0.3.0

17 release files

0.1.0

9 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page