Skip to main content

Local-first training metrics tracker backed by Rust, PyO3, DuckDB, and DuckLake.

Project description

PulseOn

PulseOn is a local-first training metrics tracker backed by Rust, PyO3, DuckDB, and DuckLake.

Current focus: plan and implement the 0.1.0a2 native loop:

  • create a project
  • start or resume a run
  • log explicit-step numeric metrics through a bounded async queue
  • query metric series and summaries locally
  • support local DuckDB DuckLake catalog storage
  • defer SQLite catalog support until real DuckLake-backed parity tests pass
  • keep the v2 public data path local-filesystem only
  • keep Parquet as the long-term compatibility boundary

Python API shape:

import pulseon

client = pulseon.init(
    "runs",
    data_path=None,
    catalog_backend="duckdb",
    catalog_path=None,
    metric_queue_capacity=65536,
)
project = client.create_project("local training")
run = client.create_run(project.project_id, "baseline")
run.log("train/loss", 0, 0.25)

For bounded teardown, stop active logging threads before calling client.shutdown(timeout=...); PulseOn keeps admission open while bounded shutdown is draining, so concurrent run.log(...) calls can prevent that drain from completing before the timeout.

Architecture entry points:

Runtime extensions:

  • DuckLake is installed and loaded by the native engine because it is required for native storage.
  • DuckDB LTTB is not bundled into the SDK. PulseOn loads an already installed lttb extension when downsampling is requested with max_points. To allow PulseOn to download it from the DuckDB community repository at that point, set PULSEON_LTTB_AUTO_INSTALL=1. To use a local build instead, set PULSEON_LTTB_EXTENSION_PATH=/path/to/lttb.duckdb_extension.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pulseon-0.1.0a2.tar.gz (125.5 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

pulseon-0.1.0a2-cp311-abi3-win_arm64.whl (10.7 MB view details)

Uploaded CPython 3.11+Windows ARM64

pulseon-0.1.0a2-cp311-abi3-win_amd64.whl (9.7 MB view details)

Uploaded CPython 3.11+Windows x86-64

pulseon-0.1.0a2-cp311-abi3-win32.whl (9.3 MB view details)

Uploaded CPython 3.11+Windows x86

pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_x86_64.whl (20.3 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ x86-64

pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_i686.whl (22.7 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ i686

pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_armv7l.whl (19.4 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARMv7l

pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_aarch64.whl (18.6 MB view details)

Uploaded CPython 3.11+musllinux: musl 1.2+ ARM64

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_x86_64.whl (14.4 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ x86-64

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_s390x.whl (12.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ s390x

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_ppc64le.whl (14.2 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ppc64le

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_i686.whl (17.0 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ i686

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_armv7l.whl (11.6 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARMv7l

pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_aarch64.whl (12.1 MB view details)

Uploaded CPython 3.11+manylinux: glibc 2.28+ ARM64

pulseon-0.1.0a2-cp311-abi3-macosx_11_0_arm64.whl (11.3 MB view details)

Uploaded CPython 3.11+macOS 11.0+ ARM64

pulseon-0.1.0a2-cp311-abi3-macosx_10_12_x86_64.whl (11.9 MB view details)

Uploaded CPython 3.11+macOS 10.12+ x86-64

File details

Details for the file pulseon-0.1.0a2.tar.gz.

File metadata

  • Download URL: pulseon-0.1.0a2.tar.gz
  • Upload date:
  • Size: 125.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2.tar.gz
Algorithm Hash digest
SHA256 b70ed4c57f6c8e224b81db3fcdb95ee1d5a7e55d0400c165bb6f0e2615bcba4b
MD5 112af4d91e913d93756e78d7f039436e
BLAKE2b-256 bcb9d605878edc3185279478e1c2a8164413ee1a0445e2fe1400694e3bd9dcf3

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-win_arm64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-win_arm64.whl
  • Upload date:
  • Size: 10.7 MB
  • Tags: CPython 3.11+, Windows ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-win_arm64.whl
Algorithm Hash digest
SHA256 78f4eb3e30201258650676c4607cc447a5bba83a2213579eab975b5321b76979
MD5 06d57e8c239faf4d4c8d9660b095203c
BLAKE2b-256 8a6cf6d353d55c4d87f88a22fe04594fa3022e35201113adb4489391095aad34

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-win_amd64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-win_amd64.whl
  • Upload date:
  • Size: 9.7 MB
  • Tags: CPython 3.11+, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 b4e42bd709dd00f87f2836856503f199bcdc4be6975047073f58fe9c61b5a1f8
MD5 815cfb8522d4a5ceab5c2ba278f784ab
BLAKE2b-256 8292783d4049e2094d35f8c1a91fb354a0cd90584e1e06732a4f2594939b3319

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-win32.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-win32.whl
  • Upload date:
  • Size: 9.3 MB
  • Tags: CPython 3.11+, Windows x86
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-win32.whl
Algorithm Hash digest
SHA256 595825067eada185d2a87f5e4f5023e1b564a59bea857fc1ee9a795ff01c1803
MD5 783cef326cac85dbfdb8eca4e9d7a4c7
BLAKE2b-256 a5ecb5b6648e747abf92339ffa8408b9f7324be246bb45268dea61cfed048dca

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_x86_64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_x86_64.whl
  • Upload date:
  • Size: 20.3 MB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_x86_64.whl
Algorithm Hash digest
SHA256 c9d20efcd3083d9de7be3e17fe51fef30193b3367748bb08a37ca1ac7b2fb5b8
MD5 77ea776993543a592573a1bab898e2db
BLAKE2b-256 70b65db7a3845ede3c38ba1ac57f4c4bef6da8a65af7418af59b72fb7c9f48d7

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_i686.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_i686.whl
  • Upload date:
  • Size: 22.7 MB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_i686.whl
Algorithm Hash digest
SHA256 947abde6fbaf31165cf0ef06a49a75cb578846f205f7c9d389ae32d3c0bcb456
MD5 84f68f1a08f94557aede77220bb3e767
BLAKE2b-256 696508082c557e05b99ba8552d5ce9dd7e981d7c05b89cbcb6da8fbd23f53d0e

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_armv7l.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_armv7l.whl
  • Upload date:
  • Size: 19.4 MB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_armv7l.whl
Algorithm Hash digest
SHA256 5d9deb57aa7cd794c3962a1aa09eaedccb8dbcad9915677fb14384e9fda0f388
MD5 b69ec9c6c18c7e4d60b511d142113803
BLAKE2b-256 d88ae0be04763f5c5a98b70f5adb58b021c0b72337e3b5c9cae7475420c06ac7

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_aarch64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_aarch64.whl
  • Upload date:
  • Size: 18.6 MB
  • Tags: CPython 3.11+, musllinux: musl 1.2+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-musllinux_1_2_aarch64.whl
Algorithm Hash digest
SHA256 304c3a3fe311cb9b2fd1b03fa3b03d91a67c0d1f95e8c4d7edbb30a26c13a8a6
MD5 bcb0f85f7573b42bd67f43349ff8e99f
BLAKE2b-256 20dc27ed9225a55bf54a264debfcec21d80584da73bc33f5d0b0755775c547aa

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_x86_64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_x86_64.whl
  • Upload date:
  • Size: 14.4 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 9d2953b804ba258d188e32940a452539ff19d2a8f9b85a92279fa6a0d67bbd94
MD5 dbb9428d82d87b31be63b5c2415507a0
BLAKE2b-256 11f77913b5681b4d43f8ce76aa9b3b4bde1b9d20c6b187e21a30b1b953ae1ffa

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_s390x.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_s390x.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ s390x
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_s390x.whl
Algorithm Hash digest
SHA256 cb9a3da998af60737511acac08ea991a0edb4c994221df1cf78a18c60b2371d4
MD5 9da630e1951b763e1cb0e0e30e911546
BLAKE2b-256 96dc4019bc624435c5442f58c7971bcff74563e505e485a76f328d5731839778

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_ppc64le.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_ppc64le.whl
  • Upload date:
  • Size: 14.2 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ ppc64le
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_ppc64le.whl
Algorithm Hash digest
SHA256 93e06dad3c92817a0ebc7b03507762f4009d96ef594575af580c6a650d7e2a45
MD5 7fc5bf7839878352b572ea2578604dff
BLAKE2b-256 67a1ca193af96e121ebb2b8dd8a6c34f94b26c20681e814263ec27b83784dbce

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_i686.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_i686.whl
  • Upload date:
  • Size: 17.0 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ i686
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_i686.whl
Algorithm Hash digest
SHA256 a27af640660b9baab338c0033f064ba7022a5a5564fa7f48b47cda96b12929e8
MD5 183203c8d7822f9cb74a955f512a56d1
BLAKE2b-256 328006afdfa5a11aaf59c33508cf8cd3d12e4f8ed74db82e80dd5d16edcf9d52

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_armv7l.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_armv7l.whl
  • Upload date:
  • Size: 11.6 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ ARMv7l
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_armv7l.whl
Algorithm Hash digest
SHA256 d4df33f663a3095c8776770a09971c4f5d029e3581448249a985ee7e19a94056
MD5 c0b45a74fc1e96ea507b6a60148a99b5
BLAKE2b-256 697f7c8dcf59aedf4a353d08d147df085ea35ea883a366d5a221cb00bc6cec55

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_aarch64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_aarch64.whl
  • Upload date:
  • Size: 12.1 MB
  • Tags: CPython 3.11+, manylinux: glibc 2.28+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 bf098eac4c8649e716c2880ff93df1d7cd32fad18bc7b76aa62b9e063bb6e746
MD5 dc257b961cf63a2e4b8c1b8cd59c2f97
BLAKE2b-256 083415db5250b1f9d28e978b76dae20aa6688c061c296e3ffff082830da0d0a6

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-macosx_11_0_arm64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 11.3 MB
  • Tags: CPython 3.11+, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 559e9d39135879f6811eb35673cc3583bb550d6250ad3642ccf13cb79b059dd9
MD5 fd0a1f4789d4cc9175756ab1fbe07807
BLAKE2b-256 2c64c27ce309a16a1cbbc6499269fe78ecfafdd6a51bdee6ae6ebc4b3de4cea1

See more details on using hashes here.

File details

Details for the file pulseon-0.1.0a2-cp311-abi3-macosx_10_12_x86_64.whl.

File metadata

  • Download URL: pulseon-0.1.0a2-cp311-abi3-macosx_10_12_x86_64.whl
  • Upload date:
  • Size: 11.9 MB
  • Tags: CPython 3.11+, macOS 10.12+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.27 {"installer":{"name":"uv","version":"0.11.27","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for pulseon-0.1.0a2-cp311-abi3-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 a5cb21f45b0e970342b8ea84fcc5df448ecfcb107f09ed95f83422f2c4cd1270
MD5 afff22e3b1360ce308b3922ca9509ecf
BLAKE2b-256 2fa2d749a49e901fef83c87153266bf58715986b819793dcd2d5b4223fc43fef

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page