Skip to main content

Hector v3.0

Hector estimates trends, periodic signals, and offsets in geodetic time series with correlated noise. It uses Restricted Maximum Likelihood Estimation (RMLE) and supports several noise models (GGM/flicker, power-law, AR(1), Matérn, white noise and combinations thereof).

Quick start

pip install hector-ts
hector-examples          # creates ./hector-examples/ with examples + manual PDF

hector-examples copies eight worked examples and the PDF user manual into a directory of your choice. Open hector_manual_v3.0.pdf first — it explains the workflow, all control-file parameters, and walks through every example step by step. The examples are self-contained: each has its own data and control files ready to run.

Installation

Windows

Pre-built wheels are available for Python 3.10–3.14. FFTW3 is bundled inside the wheel, so no separate installation is needed:

pip install hector-ts

macOS (Apple Silicon — M1 and later)

Pre-built wheels are available for Python 3.10–3.14. Install FFTW3 via Homebrew first (it is not bundled in the macOS wheel):

brew install fftw
pip install hector-ts

macOS (Intel)

Hector is compiled from source during pip install, so Xcode Command Line Tools must be present (xcode-select --install):

brew install fftw
pip install hector-ts

If the build fails, conda provides a self-contained alternative:

conda install -c conda-forge fftw
pip install hector-ts

Linux

Pre-built manylinux wheels are available for Python 3.10–3.14 on x86_64 — no FFTW3 headers needed for those platforms. For other architectures (ARM64 etc.) Hector builds from source; install the FFTW3 development package first:

# Ubuntu / Debian
sudo apt install libfftw3-dev

# CentOS / RHEL / Fedora
sudo yum install fftw-devel        # or: sudo dnf install fftw-devel

pip install hector-ts

Programs

Name Description
estimatetrend Estimate trend, seasonal signals, and offsets using RMLE
estimatespectrum Welch periodogram of the residuals
removeoutliers Flag and remove outliers before trend estimation
findoffsets Automated forward search for offset epochs
find_all_offsets Multivariate (E+N+U) offset search on NCF files
simulatenoise Generate synthetic coloured-noise time series
estimate_all_trends Batch trend estimation on all files in obs_files/
ncfgen Create a multi-channel NCF (NetCDF4) time-series file
ncfdump Inspect or export an NCF file
plot_ts Quick time-series plot from a mom file
date2mjd Convert calendar date to Modified Julian Date
mjd2date Inverse of date2mjd
convert_rlrdata2mom Convert PSMSL RLR data to mom format
predict_error Predict trend uncertainty as a function of series length

Reference

If you use Hector in your research, please cite:

Bos, M.S. (2026). Fast noise analysis and offset detection for continuous GNSS time series. Journal of Geodesy (submitted).

Performance

Hector v3.0 is a Python/Cython rewrite of Hector C++ v2.2. The core Toeplitz factorisation uses the Generalised Schur Algorithm (O(n log²n)) instead of Durbin-Levinson (O(n²)), and data gaps are handled with an FFT-based spectral approximation. The result is 6–27× faster for typical GNSS series lengths:

Series Gaps Hector v3.0 (s) Hector C++ v2.2 (s) Speedup
10 yr 0% 0.45 5.2 11.6×
20 yr 0% 1.7 14.4 8.5×
30 yr 0% 3.2 30.9 9.7×
40 yr 0% 4.4 91.9 20.7×
10 yr 10% 1.3 7.3 5.8×
30 yr 10% 14.2 85.4 6.0×
40 yr 10% 24.0 220.1 9.2×

Benchmarked on Apple M4 Pro, GGM+White noise model, including offset estimation.

License

Free for academic, research, and educational use. Commercial use requires a separate license from TeroMovigo – Earth Innovation Lda. See LICENSE for full terms.

Download files

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

Source Distribution

hector_ts-3.0.8.tar.gz (12.6 MB view details)

Uploaded Source

Built Distributions

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

hector_ts-3.0.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.14tmanylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hector_ts-3.0.8-cp314-cp314-win_amd64.whl (13.1 MB view details)

Uploaded CPython 3.14Windows x86-64

hector_ts-3.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hector_ts-3.0.8-cp314-cp314-macosx_14_0_arm64.whl (12.6 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

hector_ts-3.0.8-cp313-cp313-win_amd64.whl (12.6 MB view details)

Uploaded CPython 3.13Windows x86-64

hector_ts-3.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hector_ts-3.0.8-cp313-cp313-macosx_14_0_arm64.whl (12.6 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

hector_ts-3.0.8-cp312-cp312-win_amd64.whl (12.7 MB view details)

Uploaded CPython 3.12Windows x86-64

hector_ts-3.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hector_ts-3.0.8-cp312-cp312-macosx_14_0_arm64.whl (12.6 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

hector_ts-3.0.8-cp311-cp311-win_amd64.whl (12.7 MB view details)

Uploaded CPython 3.11Windows x86-64

hector_ts-3.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.8 MB view details)

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

hector_ts-3.0.8-cp311-cp311-macosx_14_0_arm64.whl (12.6 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

hector_ts-3.0.8-cp310-cp310-win_amd64.whl (12.7 MB view details)

Uploaded CPython 3.10Windows x86-64

hector_ts-3.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (15.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

hector_ts-3.0.8-cp310-cp310-macosx_14_0_arm64.whl (12.6 MB view details)

Uploaded CPython 3.10macOS 14.0+ ARM64

File details

Details for the file hector_ts-3.0.8.tar.gz.

File metadata

  • Download URL: hector_ts-3.0.8.tar.gz
  • Upload date:
  • Size: 12.6 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8.tar.gz
Algorithm Hash digest
SHA256 32cda5e2d377e5ed123e8fbaca553aca5c6392ddec752141708a7533787c8761
MD5 ab077c571908f0bc975c243ffef3e791
BLAKE2b-256 c2b7eee9e14b71a4011521daddfc32ed7337959e7e743cefbfe94002bc32d4de

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8.tar.gz:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 255cee0e1929abe55d936db8022a88a542968bdc4af5733870ed7cedd48879d7
MD5 b45c74861b438350a4a131a1af478e07
BLAKE2b-256 3aabf2d3c0923a1050b71cd10f897995b5cb9306f202fe559f8a4de957ea9ba5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: hector_ts-3.0.8-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 13.1 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 3d03429ecc8d0000903835c5a9950dc4dc77e3e71bf25422e0a2f90ac80164a9
MD5 1184ea1a8a4619a78dd8f13757eb81f0
BLAKE2b-256 6b46b236d1e3685757f1223db07d3864f376bdece700c6a4a3b5781c1e773237

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp314-cp314-win_amd64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0005dd97190104f092b8bf147ce97f856552f02c40f5ab47fc9fd81bacea9f25
MD5 ba6deba893ec7454aaba59292eaf329b
BLAKE2b-256 2f78b30814c0d75f27e551a16e5f34066fc652705cc9ebb96e19725cc2a5c23f

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 ca7f7ecb8afd7e70e7e6fd81a56d9dd4d9c0034ace770625ff3120b5090269df
MD5 79fade10bcc039aa71171c15bd3b23e1
BLAKE2b-256 9e2bcce45476d2cc75cffb0a3f7d199da9a45fd0d692031329eeb018808250da

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp314-cp314-macosx_14_0_arm64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: hector_ts-3.0.8-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 12.6 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ca685272fcfbeab9ada7f0ea5826e61b794bafa29839b4f2911ecc4285b86e20
MD5 8a5268b5776dc607f86ca7192a45e025
BLAKE2b-256 d1a877c85ed95f0def5381b053dc8eec095883aeaa8b7431fb2baa813321cf75

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp313-cp313-win_amd64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d6b6b74ff21b74f6601f66ff160660d32d48a20b86ea1f98c06de16cb39adb04
MD5 f6ebead50b13220d69d59431046a7445
BLAKE2b-256 0808af00bfafc6ca42e4c90e947919bde2304580005a2f996a7b7b2715e29e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 4f1ceef7d4d91cb45a7287355296582884dbd8d535e0317e46c5d321618543ea
MD5 97ec2b3ea39412d8e32d2aa325d80da7
BLAKE2b-256 21308d1071bac3d99dfe3a5fad02bf35059fd7d19636bb5aca40611570881f05

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp313-cp313-macosx_14_0_arm64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: hector_ts-3.0.8-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 12.7 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 48c483551715a0ee3e15cefff2a54c984a33d6d02482fa945a2300f00b5547aa
MD5 469ab0cbd20d18d8f68d4d850374041a
BLAKE2b-256 67cd119293dd3e98e6ef9cad46042e98647f4fd8867a6484fca12631ebe2a9f7

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp312-cp312-win_amd64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 4472cef6a43abfa329b9b302b10564853b1169e7f0a26533e948d48c70a01ec4
MD5 35fcd88314caec32a68ab3e4444c2023
BLAKE2b-256 48d1f6acdcdd1ef88f9535975462db43f2bf757422ec888d2eae7c38cb735e80

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 5f9372a3c0a8fc5e4c91c89b299c283749ce2db800e2b3c805bc3503018c7602
MD5 839173f87400c3d79f0f70fd41e62179
BLAKE2b-256 c941428de9885de9598215cc1dbee309b1b13261da2fbefcff27e635af032ff4

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp312-cp312-macosx_14_0_arm64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: hector_ts-3.0.8-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 12.7 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f3e2d1f64ced4770d1f7ab8bd7b1f08271a4f4dbe1c1c2a7407817dc2a286be9
MD5 a884d8bebe325799e489084c6980e4ce
BLAKE2b-256 27605bd0b0702c212c5ec46b981d4ea686f54ebf516faeedea93b8751f0d514e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp311-cp311-win_amd64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d045c95e7c89c8133aeeefb9d1eac137325d2f719532322a77fae04a1ef51a9
MD5 824ad0f47d0090a8171c0be1236b875d
BLAKE2b-256 d44e1ddb85ccef5c2142f21c9307dead540befec12253f08efdea5a33883b15e

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9a3b1227ee370777afaef203c281e0a9091c4756e4ee106682ec8b643bf37461
MD5 36fd62c86e90d6186b0eac7ecbb25299
BLAKE2b-256 64909fb971e004fa9b43cbf30b773841424946a1c93e7911ac4219831ef61bc5

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp311-cp311-macosx_14_0_arm64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: hector_ts-3.0.8-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 12.7 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/7.0.0 CPython/3.13.14

File hashes

Hashes for hector_ts-3.0.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 bda94944b8201900c9d6be593d795faa1cbf7d2ee2d189ad2e695a21aaa212fa
MD5 7968ef8fb57b70d720d2852418d20766
BLAKE2b-256 8b346c4ba42134a44c3faa1f609b43484c0640b435ddbba6394e88b1157bd8d8

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp310-cp310-win_amd64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 40d7cab2b372b521a6977c6351625a57fcae13c3abe7aca3de1b114fac8bd80a
MD5 54530f946211620c44ac38a8152cd00e
BLAKE2b-256 94d871b1420ac41b7e167d16936019293611efbfc78368a8b7f01e744066e611

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file hector_ts-3.0.8-cp310-cp310-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for hector_ts-3.0.8-cp310-cp310-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 79b45a723fd4c7e0b0bb520b85ef6ac92538592ba131de1d8ec278dbc4c53f8d
MD5 d205c658e7d7942252813298510b0a38
BLAKE2b-256 5a704016afff0911cf858f561328e0f7b0f57cf3bb515f9e858a401de40676d0

See more details on using hashes here.

Provenance

The following attestation bundles were made for hector_ts-3.0.8-cp310-cp310-macosx_14_0_arm64.whl:

Publisher: release.yml on machielbos8/hector-ts

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.1.1

17 files

3.1.0

17 files

3.0.10

17 files

3.0.9

17 files

This release

3.0.8 This release

17 files

3.0.7

17 files

3.0.6

17 files

3.0.5

17 files

3.0.4

17 files

3.0.3

17 files

3.0.2

17 files

3.0.1

17 files

3.0

12 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