Skip to main content

A compiler framework that automates translation from source code to silicon.

Project description

SiliconCompiler

Python CI Tests Tools CI Tests Daily CI Tests Wheels Lint Documentation Status codecov Downloads

Introduction

SiliconCompiler is a modular hardware build system ("make for silicon"). The project philosophy is to "make the complex possible while keeping the simple simple".

Supported Technologies

Type Supported
Design Languages C, Verilog, SV, VHDL, Chisel, Migen/Amaranth, Bluespec
Simulation Tools Verilator, Icarus, GHDL, Xyce
Synthesis Yosys, Vivado, Synopsys, Cadence
ASIC APR OpenRoad, Synopsys, Cadence
FPGA APR VPR, nextpnr, Vivado
Layout Viewer Klayout, OpenRoad, Cadence, Synopsys
DRC/LVS Magic, Synopsys, Siemens
PDKs sky130, asap7, freepdk45, gf12lp, gf22fdx, intel16

Getting Started

SiliconCompiler is available as wheel packages on PyPI for macOS, Windows and Linux platforms. For working Python 3.8-3.12 environment, just use pip.

python -m pip install --upgrade siliconcompiler

Converting RTL into DRC clean GDS takes less than 10 lines of simple Python code.

import siliconcompiler                             # import python package
chip = siliconcompiler.Chip('heartbeat')           # create chip object
chip.load_target('skywater130_demo')               # load a pre-defined target
chip.input('heartbeat.v')                          # set input sources
chip.clock('clk', period=10)                       # set constraints
chip.set('option','remote', True)                  # enable remote execution
chip.run()                                         # run compilation
chip.summary()                                     # print summary
chip.show()                                        # show layout

Simple designs can be compiled in a single line using the built in command line 'sc' app:

sc -remote -target "asic_demo"

Why SiliconCompiler?

  • Ease-of-use: Programmable with a simple Python API
  • Portability: Powerful dynamic JSON schema supports ASIC and FPGA design and simulation
  • Speed: Flowgraph execution model enables cloud scale execution.
  • Friction-less: Remote execution model enables "zero install" compilation
  • Modularity: Tool abstraction layer makes it easy to add/port new tools to the project.
  • Provenance: Compilation manifests created automatically during execution.
  • Documented: An extensive set of auto-generated high quality reference documents.
  • In-use: Actively used by Zero ASIC for commercial tapeouts at advanced process nodes.

Documentation

The full reference manual and tutorials can be found HERE.

License

Apache License 2.0

How to Cite

If you want to cite our work, please use the following paper:

A. Olofsson, W. Ransohoff, N. Moroze, "Invited: A Distributed Approach to Silicon Compilation", 59th Design Automation Conference (DAC), 10-14 July 2022, San Francisco, CA, USA. Published, 7/2022.

Bibtex:

@inproceedings{10.1145/3489517.3530673,
author = {Olofsson, Andreas and Ransohoff, William and Moroze, Noah},
title = {A Distributed Approach to Silicon Compilation: Invited},
year = {2022},
booktitle = {Proceedings of the 59th ACM/IEEE Design Automation Conference},
pages = {1343–1346},
location = {San Francisco, California}
}

Installation

Complete installation instructions are available in the Installation Guide.

To install the project from source (recommended for developers only).

git clone https://github.com/siliconcompiler/siliconcompiler
cd siliconcompiler
python -m pip install -e .             # Required install step
python -m pip install -e .[docs,test]  # Optional install step for generating docs and running tests

EDA Tool Installation

Installation instructions for all external tools can be found in the External Tools section of the user guide. We have included shell setup scripts (Ubuntu) for most of the supported tools. See the ./setup directory for a complete set of scripts and ./setup/_tools.json for the currently recommended tool versions.

Contributing

SiliconCompiler is an open-source project and welcomes contributions. To find out how to contribute to the project, see our Contributing Guidelines.

Issues / Bugs

We use GitHub Issues for tracking requests and bugs.

More information

Resources Link
Website https://www.siliconcompiler.com
Documentation https://docs.siliconcompiler.com
Sources https://github.com/siliconcompiler/siliconcompiler
Issues https://github.com/siliconcompiler/siliconcompiler/issues
RFCs https://github.com/siliconcompiler/rfcs
Discussion https://github.com/siliconcompiler/siliconcompiler/discussions

Project details


Release history Release notifications | RSS feed

Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

siliconcompiler-0.21.8-cp312-cp312-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.12Windows x86-64

siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

siliconcompiler-0.21.8-cp312-cp312-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

siliconcompiler-0.21.8-cp312-cp312-macosx_10_15_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.12macOS 10.15+ x86-64

siliconcompiler-0.21.8-cp311-cp311-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.11Windows x86-64

siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

siliconcompiler-0.21.8-cp311-cp311-macosx_11_0_arm64.whl (7.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

siliconcompiler-0.21.8-cp311-cp311-macosx_10_15_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.11macOS 10.15+ x86-64

siliconcompiler-0.21.8-cp310-cp310-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.10Windows x86-64

siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

siliconcompiler-0.21.8-cp310-cp310-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

siliconcompiler-0.21.8-cp310-cp310-macosx_10_15_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.10macOS 10.15+ x86-64

siliconcompiler-0.21.8-cp39-cp39-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.9Windows x86-64

siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

siliconcompiler-0.21.8-cp39-cp39-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

siliconcompiler-0.21.8-cp39-cp39-macosx_10_15_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.9macOS 10.15+ x86-64

siliconcompiler-0.21.8-cp38-cp38-win_amd64.whl (2.5 MB view details)

Uploaded CPython 3.8Windows x86-64

siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

siliconcompiler-0.21.8-cp38-cp38-macosx_11_0_arm64.whl (7.2 MB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

siliconcompiler-0.21.8-cp38-cp38-macosx_10_15_x86_64.whl (7.1 MB view details)

Uploaded CPython 3.8macOS 10.15+ x86-64

File details

Details for the file siliconcompiler-0.21.8-cp312-cp312-win_amd64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e07b14286d63d278c4f975b20937742e9cbbb443ff54f922fbc88cd9124ffef6
MD5 1929be65c855d13312e744c99f3c26e6
BLAKE2b-256 71c4560b5d14148422166ab3ab6cf1709a37c497206fcc129ceeca62fd6b5cf9

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c89309ac40830627675dff57bb7f0542971fc09c0209afcbe648760ccf3de47e
MD5 098d4f426dc33b4e0726dfac04d42c08
BLAKE2b-256 8e724e50d55d62a7275828f82299fb71f742a36fe66390e74929e546870fb30a

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 844a5e8e8bf052d307a7d0eeb27cf782759d11e064a4be5b36e9b64cec206aab
MD5 f6f6eaacae164fc90dd3845cedbaf162
BLAKE2b-256 143637b76b83533bdd9b7cad2de767a6bb7b97dc391db2a1b0dd346c323f50b3

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6210030af58ad5e097ceb7fcb420159fc0330380132309f6de49b6c3783bcc4c
MD5 05e64c3fa7f49bed0fcfba969a7e171d
BLAKE2b-256 0812b965359a63c92d467c3f6dafad19ab45cff95d0ffb62552af5cf6c0c1bba

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp312-cp312-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp312-cp312-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 df8a96d5bab74a98ae5333c1b1d62afe038c1ca95a6d775a0d9594dae1297fbf
MD5 b77780e695d4c473a6a8ae8541b2dad5
BLAKE2b-256 d454afba940e92c37a74e20986a94aaa70812b34bc3ac7c147a13090866be70a

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp311-cp311-win_amd64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 f13d2a216dd19c7317726f63e327458aa278dea2749eb6bf6ff63a4990ac2db2
MD5 6b99d4dc50643243d9f2e2bff11adba2
BLAKE2b-256 f62d2144ecac2fa3cf4413c7e6bb1dc79062535ea6fb9290b564f0da927d5d30

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 bfe4235193207aea267b41fe6b76c4733a0f782158fc56f7633fafc53235c7e1
MD5 03233e7d2ad6c59e2f5f568321f93801
BLAKE2b-256 08ddde66e64006d35e8b03087fc54641c05feb1eb93b2ffef6f62396bab7a241

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d400b29a5fd8e1a7cbea653814152bbe80638f0c9f4d75fd45014f5800d5ad3b
MD5 810d76ab565d409ae2a68d5a409767d2
BLAKE2b-256 3fa89aac69873b47ee7e81709830978faafdf6b365127182f64d7d7f02bf3251

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 14682df0f17f9de1609c9767747a44ec6047f703edd708fdf07a5292793829ab
MD5 ed20ca63ed8027db6572abe986bbde96
BLAKE2b-256 83744e30934870df6b047a37bb8b5b342911d1b167236de88e99d59a1d51ede0

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp311-cp311-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp311-cp311-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 7ffc5ea402dc41a9198ff954e4a3b5149df3cb673839ff21d0b98b158342c940
MD5 975959610f85a599a85550e1a37d9b0e
BLAKE2b-256 1defe33d7b7a1ced6d090d80c52dc7422d77a3b88018e4e41c03dfc0357eaa4a

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp310-cp310-win_amd64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 e6d52db6abb71dccc739daf94f1389588f4845b73ba61f71d3752151b4aebddb
MD5 54564d7b9e6957969a414abae6e16286
BLAKE2b-256 a7d5b0e99b724de0fbb85f3cd39af0aa9f6437dd7fe3662c1668fa7b1e6f537f

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7f28137d99f607f22b54e08a9f1eb4e0eb82def951a5b8e3631905dd60ac13df
MD5 2691efff71f4ae253b59d161505dea4f
BLAKE2b-256 b21155e8b99c41b9f8ab90ba3db737249b8313405b8d20888c59a3066a8d844b

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 12d03927d9c1320406996dfed106261e59ba0d862f61548f45d98e380e956d30
MD5 8ea07b723a95700ef8e0b598e4c90acd
BLAKE2b-256 20360044f4e7e922f6b3f40c5f8859c8c6ebbf92bf81e8dc34acb487a2b65e2c

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 34b20263a1d9dabc665db9a581792ed29ad6ebcde1063a3e2ee13b168daaaf12
MD5 289119898c954b10f70440bcaea989ad
BLAKE2b-256 dd40e46242d0dc492da8a1394f9a2d91a7216d88f94dbfcf7ee66001318deb7b

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp310-cp310-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp310-cp310-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 ce330813629d6eabcc991d9b94b46c75710ef4ad555ac14d8c5e232af8ac0840
MD5 80abc751d74a9fde9a922f8e64680ba0
BLAKE2b-256 d68b8eb76ae430c0ec5a24c5f995fbdd4e5caf4a31372f03473aaa2a258d36b0

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp39-cp39-win_amd64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 3ba88e42b999cd98091ee59cbe63b0a5127d9f8e512e8e1269a329b38c259e27
MD5 2c5c38df72e3975520e6381efb925ce1
BLAKE2b-256 3fdec61b06e91ff214f62ac28501ea71e52afba577768c5e84a7999c862ab6ec

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 04a524b3cdeba3b26799246f0bc107617020e4c24a45e42d7e9b5522231cd6a2
MD5 5facabceaabc5abeb4ad69a9f66b7f1c
BLAKE2b-256 e1eed7ce08eb2e56a15e81f9a0f95aefda1066e505d84a16c82d716930fe6866

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 9dc3bbcc523069f6851a5270453ada0b890cce9b8950c6214619a6ad0df0ae8c
MD5 dc19b5fe311a6760a5bbbbe3997f4c46
BLAKE2b-256 9a8f41f259160d48067361fef9e737c1a7040cc6c040128268d2fcf78eebda02

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f29fcc60e1ea2e339b9c82a97f49ce5789a58e304ce35b73755ff8cd49681655
MD5 a12d4c322e62118630090874e3d5d2b2
BLAKE2b-256 947c3e4b548505ca85a0d4cc2e72612c19f4cd3b39c300899f47853204a255df

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp39-cp39-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp39-cp39-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 a93a6d41371cabf34138ebc57b0709caa9ae257f5727ba31b99fd387374d9a59
MD5 b0203e1c3a5ed246ad81547f5c9b8cf5
BLAKE2b-256 f0ad66f56f522dcb606db6a2ecefee37db32f75221ec2fad290727879360b7a3

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp38-cp38-win_amd64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 d24b86536f03708e65da27c94e5e557a9b15d8f33e9fed25797b86c95acbaa1e
MD5 6e82bd08fef834fb7a2f0da7a8ca2c7c
BLAKE2b-256 e792d52b065d8cfa983a6a32ae11591f20222bc86769a8c158412f434b45c2dd

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7fd981f335d2334e92b6e06c376cf8900353acb1923ac54c18cc36c415430005
MD5 b939958af614ca846a748a297806e19c
BLAKE2b-256 9096edb1f109f1e318ef1ad20af808247b3f07b6522e387916954614c53123ba

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 306bdcd29e5453c5a5f442a7191e764337f075fd21405cf604760c6d7d2c1d41
MD5 b7afa4d3b62834be0a430e96bcae1f82
BLAKE2b-256 1eb2599fb9065802806c5ce59ebe984343df0131bf6b64ef997931038d19a132

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 9ff4cda5ad29164d413bcfff26e7d62477c0e51772958752530d0ec2dde8a275
MD5 77ab10ce8f65897ba0baf757c626f3e3
BLAKE2b-256 f6bb373a4c3fdd9e27d746ee3b379c8d4a5eb79bf9a73e63c71c4fbe49366b09

See more details on using hashes here.

File details

Details for the file siliconcompiler-0.21.8-cp38-cp38-macosx_10_15_x86_64.whl.

File metadata

File hashes

Hashes for siliconcompiler-0.21.8-cp38-cp38-macosx_10_15_x86_64.whl
Algorithm Hash digest
SHA256 30a315a725ec09b36496c735da2ce52689d0e448103f4ed23e47a00ed0c76f2c
MD5 4baf6a40760a5c4a08d525bcbd9d3865
BLAKE2b-256 9e251b3449e4ea83e51621e45086b6d1b4b7efc705a0f42b17a5422b08c63760

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