Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
114 changes: 88 additions & 26 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,41 +5,103 @@
<br />
</p>

# Sentry Rust
# Sentry SDK for Rust

[![Build Status](https://travis-ci.com/getsentry/sentry-rust.svg?branch=master)](https://travis-ci.com/getsentry/sentry-rust)
[![Crates.io](https://img.shields.io/crates/v/sentry.svg?style=flat)](https://crates.io/crates/sentry)

This workspace contains various crates that provide support for logging events
and errors / panics to the [Sentry](https://sentry.io/) error logging service.

- [sentry](./sentry) The main `sentry` crate aimed at application users that
want to log events to sentry.
- [sentry-actix](./sentry-actix) An integration for the `actix-web (0.7)`
framework.
- [sentry-core](./sentry-core) The core of `sentry`, which can be used to
instrument code, and to write integrations that generate events or hook into
event processing.
- [sentry-types](./sentry-types) Contains types for the Sentry v7 protocol as
well as other common types.

**Note**: Until the _1.0_ release, the crates in this repository are considered work in
progress and do not follow semver semantics. Between minor releases, we might
occasionally introduce breaking changes while we are exploring the best API and
adding new features.

This workspace contains various crates that provide support for logging events and errors / panics to the
[Sentry](https://sentry.io/) error logging service.

- [sentry](./sentry) [![crates.io](https://img.shields.io/crates/v/sentry.svg)](https://crates.io/crates/sentry)
[![docs.rs](https://docs.rs/sentry/badge.svg)](https://docs.rs/sentry)

The main `sentry` crate aimed at application users that want to log events to sentry.

- [sentry-actix](./sentry-actix)
[![crates.io](https://img.shields.io/crates/v/sentry-actix.svg)](https://crates.io/crates/sentry-actix)
[![docs.rs](https://docs.rs/sentry-actix/badge.svg)](https://docs.rs/sentry-actix)

An integration for the `actix-web (0.7)` framework.

- [sentry-anyhow](./sentry-anyhow)
[![crates.io](https://img.shields.io/crates/v/sentry-anyhow.svg)](https://crates.io/crates/sentry-anyhow)
[![docs.rs](https://docs.rs/sentry-anyhow/badge.svg)](https://docs.rs/sentry-anyhow)

An integration for `anyhow` errors.

- [sentry-backtrace](./sentry-backtrace)
[![crates.io](https://img.shields.io/crates/v/sentry-backtrace.svg)](https://crates.io/crates/sentry-backtrace)
[![docs.rs](https://docs.rs/sentry-backtrace/badge.svg)](https://docs.rs/sentry-backtrace)

A utility crate that creates and processes backtraces.

- [sentry-contexts](./sentry-contexts)
[![crates.io](https://img.shields.io/crates/v/sentry-contexts.svg)](https://crates.io/crates/sentry-contexts)
[![docs.rs](https://docs.rs/sentry-contexts/badge.svg)](https://docs.rs/sentry-contexts)

An integration that provides `os`, `device` and `rust` contexts.

- [sentry-core](./sentry-core)
[![crates.io](https://img.shields.io/crates/v/sentry-core.svg)](https://crates.io/crates/sentry-core)
[![docs.rs](https://docs.rs/sentry-core/badge.svg)](https://docs.rs/sentry-core)

The core of `sentry`, which can be used to instrument code, and to write integrations that generate events or hook
into event processing.

- [sentry-debug-images](./sentry-debug-images)
[![crates.io](https://img.shields.io/crates/v/sentry-debug-images.svg)](https://crates.io/crates/sentry-debug-images)
[![docs.rs](https://docs.rs/sentry-debug-images/badge.svg)](https://docs.rs/sentry-debug-images)

An integration that adds a list of loaded libraries to events.

- [sentry-error-chain](./sentry-error-chain)
[![crates.io](https://img.shields.io/crates/v/sentry-error-chain.svg)](https://crates.io/crates/sentry-error-chain)
[![docs.rs](https://docs.rs/sentry-error-chain/badge.svg)](https://docs.rs/sentry-error-chain)

An integration for the `error-chain` crate. This is _deprecated_ and may be completely removed in the future.

- [sentry-failure](./sentry-failure)
[![crates.io](https://img.shields.io/crates/v/sentry-failure.svg)](https://crates.io/crates/sentry-failure)
[![docs.rs](https://docs.rs/sentry-failure/badge.svg)](https://docs.rs/sentry-failure)

An integration for the `failure` crate.

- [sentry-log](./sentry-log)
[![crates.io](https://img.shields.io/crates/v/sentry-log.svg)](https://crates.io/crates/sentry-log)
[![docs.rs](https://docs.rs/sentry-log/badge.svg)](https://docs.rs/sentry-log)

An integration for the `log` and `env_logger` crate.

- [sentry-panic](./sentry-panic)
[![crates.io](https://img.shields.io/crates/v/sentry-panic.svg)](https://crates.io/crates/sentry-panic)
[![docs.rs](https://docs.rs/sentry-panic/badge.svg)](https://docs.rs/sentry-panic)

An integration for capturing and logging panics.

- [sentry-slog](./sentry-slog)
[![crates.io](https://img.shields.io/crates/v/sentry-slog.svg)](https://crates.io/crates/sentry-slog)
[![docs.rs](https://docs.rs/sentry-slog/badge.svg)](https://docs.rs/sentry-slog)

An integration for the `slog` crate.

- [sentry-types](./sentry-types)
[![crates.io](https://img.shields.io/crates/v/sentry-types.svg)](https://crates.io/crates/sentry-types)
[![docs.rs](https://docs.rs/sentry-types/badge.svg)](https://docs.rs/sentry-types)

Contains types for the Sentry v7 protocol as well as other common types.

**Note**: Until the _1.0_ release, the crates in this repository are considered work in progress and do not follow
semver semantics. Between minor releases, we might occasionally introduce breaking changes while we are exploring the
best API and adding new features.

## Requirements

We currently only verify this crate against a recent version of Sentry hosted on
[sentry.io](https://sentry.io/) but it should work with on-prem Sentry versions
8.20 and later.
We currently only verify this crate against a recent version of Sentry hosted on [sentry.io](https://sentry.io/) but it
should work with on-prem Sentry versions 8.20 and later.

Additionally, the lowest Rust version we target is _1.40.0_.

## Resources

- [crates.io](https://crates.io/crates/sentry)
- [Documentation](https://getsentry.github.io/sentry-rust)
- [Bug Tracker](https://github.com/getsentry/sentry-rust/issues)
- [Discord](https://discord.gg/ez5KZN7) server for project discussions.
- Follow [@getsentry](https://twitter.com/getsentry) on Twitter for updates
8 changes: 5 additions & 3 deletions sentry-actix/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://docs.rs/sentry-actix"
homepage = "https://sentry.io/welcome/"
description = """
Sentry client extension for actix-web
Sentry client extension for actix-web 0.7.
"""
edition = "2018"

[package.metadata.docs.rs]
all-features = true

[features]
default = ["with_sentry_default"]
with_sentry_default = [
Expand Down
23 changes: 2 additions & 21 deletions sentry-actix/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,25 +5,6 @@
<br />
</p>

# Sentry-Actix
# Sentry SDK Integration for actix-web 0.7

[![Build Status](https://travis-ci.org/getsentry/sentry-rust.svg?branch=master)](https://travis-ci.org/getsentry/sentry-rust)
[![Crates.io](https://img.shields.io/crates/v/sentry-actix.svg?style=flat)](https://crates.io/crates/sentry-actix)

This is an actix-web integration for the Sentry crate.

## Requirements

We currently only verify this crate against a recent version of Sentry hosted on
[sentry.io](https://sentry.io/) but it should work with on-prem Sentry versions
8.20 and later.

Additionally, the lowest Rust version we target is _1.40.0_.

## Resources

- [crates.io](https://crates.io/crates/sentry-actix)
- [Documentation](https://docs.rs/sentry)
- [Bug Tracker](https://github.com/getsentry/sentry-rust/issues)
- [IRC](irc://chat.freenode.net/sentry) (chat.freenode.net, #sentry)
- Follow [@getsentry](https://twitter.com/getsentry) on Twitter for updates
This is a Sentry extension for the `actix-web 0.7` framework.
2 changes: 1 addition & 1 deletion sentry-actix/examples/basic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ fn failing(_req: &HttpRequest) -> Result<String, Error> {
}

fn main() {
let _guard = sentry::init("https://a94ae32be2584e0bbd7a4cbb95971fee@sentry.io/1041156");
let _guard = sentry::init(());
env::set_var("RUST_BACKTRACE", "1");

server::new(|| {
Expand Down
7 changes: 4 additions & 3 deletions sentry-actix/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -28,9 +28,10 @@
//! App::new()
//! .middleware(SentryMiddleware::new())
//! .resource("/", |r| r.f(failing))
//! }).bind("127.0.0.1:3001")
//! .unwrap()
//! .run();
//! })
//! .bind("127.0.0.1:3001")
//! .unwrap()
//! .run();
//! }
//! ```
//!
Expand Down
7 changes: 4 additions & 3 deletions sentry-anyhow/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,14 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://getsentry.github.io/sentry-rust"
homepage = "https://sentry.io/welcome/"
description = """
Sentry Integration for any errors.
Sentry integration for anyhow.
"""
edition = "2018"

[package.metadata.docs.rs]
all-features = true

[dependencies]
sentry-core = { version = "0.18.0", path = "../sentry-core" }
Expand Down
10 changes: 10 additions & 0 deletions sentry-anyhow/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<p align="center">
<a href="https://sentry.io" target="_blank" align="center">
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
</a>
<br />
</p>

# Sentry SDK Integration for anyhow

This is a Sentry integration for the `anyhow` crate.
8 changes: 5 additions & 3 deletions sentry-backtrace/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://getsentry.github.io/sentry-rust"
homepage = "https://sentry.io/welcome/"
description = """
Sentry integration and utilities for dealing with stacktraces
Sentry integration and utilities for dealing with stacktraces.
"""
edition = "2018"

[package.metadata.docs.rs]
all-features = true

[dependencies]
sentry-core = { version = "0.18.0", path = "../sentry-core" }
lazy_static = "1.4.0"
Expand Down
10 changes: 10 additions & 0 deletions sentry-backtrace/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<p align="center">
<a href="https://sentry.io" target="_blank" align="center">
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
</a>
<br />
</p>

# Sentry SDK backtrace integration and utilities

Sentry integration and utilities for dealing with stacktraces.
10 changes: 6 additions & 4 deletions sentry-contexts/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,14 +5,16 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://getsentry.github.io/sentry-rust"
homepage = "https://sentry.io/welcome/"
description = """
Sentry integration for rust and device contexts
Sentry integration for os, device, and rust contexts.
"""
build = "build.rs"
edition = "2018"

[package.metadata.docs.rs]
all-features = true

[dependencies]
sentry-core = { version = "0.18.0", path = "../sentry-core" }
libc = "0.2.66"
Expand All @@ -27,4 +29,4 @@ uname = "0.1.1"
rustc_version = "0.2.3"

[dev-dependencies]
sentry = { version = "0.18.0", path = "../sentry" }
sentry = { version = "0.18.0", path = "../sentry", default-features = false, features = ["test"] }
10 changes: 10 additions & 0 deletions sentry-contexts/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<p align="center">
<a href="https://sentry.io" target="_blank" align="center">
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
</a>
<br />
</p>

# Sentry SDK contexts integration

Sentry integration for os, device, and rust contexts.
3 changes: 1 addition & 2 deletions sentry-contexts/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@
//! add_os: false,
//! ..Default::default()
//! };
//! let _sentry = sentry::init(sentry::ClientOptions::default()
//! .add_integration(integration));
//! let _sentry = sentry::init(sentry::ClientOptions::default().add_integration(integration));
//! ```

#![deny(missing_docs)]
Expand Down
5 changes: 2 additions & 3 deletions sentry-core/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,7 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://getsentry.github.io/sentry-rust"
homepage = "https://sentry.io/welcome/"
description = """
Core sentry library used for instrumentation and integration development.
"""
Expand All @@ -24,7 +23,7 @@ debug-logs = ["log_"]
test = ["client"]

[dependencies]
sentry-types = { version = "0.15.0", path = "../sentry-types" }
sentry-types = { version = "0.18.0", path = "../sentry-types" }
lazy_static = "1.4.0"
im = { version = "14.2.0", optional = true }
rand = { version = "0.7.3", optional = true }
Expand Down
30 changes: 3 additions & 27 deletions sentry-core/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,31 +5,7 @@
<br />
</p>

# Sentry-Core
# Sentry SDK Core

[![Build Status](https://travis-ci.com/getsentry/sentry-rust.svg?branch=master)](https://travis-ci.com/getsentry/sentry-rust)
[![Crates.io](https://img.shields.io/crates/v/sentry-core.svg?style=flat)](https://crates.io/crates/sentry-core)

The core of `sentry`, which can be used to instrument code, and to write
integrations that generate events or hook into event processing.

**Note**: Until the _1.0_ release, the `sentry` crate is considered work in
progress and does not follow semver semantics. Between minor releases, we might
occasionally introduce breaking changes while we are exploring the best API and
adding new features.

## Requirements

We currently only verify this crate against a recent version of Sentry hosted on
[sentry.io](https://sentry.io/) but it should work with on-prem Sentry versions
8.20 and later.

Additionally, the lowest Rust version we target is _1.40.0_.

## Resources

- [crates.io](https://crates.io/crates/sentry-core)
- [Documentation](https://getsentry.github.io/sentry-rust)
- [Bug Tracker](https://github.com/getsentry/sentry-rust/issues)
- [Discord](https://discord.gg/ez5KZN7) server for project discussions.
- Follow [@getsentry](https://twitter.com/getsentry) on Twitter for updates
The core of `sentry`, which can be used to instrument code, and to write integrations that generate events or hook into
event processing.
8 changes: 5 additions & 3 deletions sentry-debug-images/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,15 @@ authors = ["Sentry <hello@sentry.io>"]
license = "Apache-2.0"
readme = "README.md"
repository = "https://github.com/getsentry/sentry-rust"
homepage = "https://github.com/getsentry/sentry-rust"
documentation = "https://getsentry.github.io/sentry-rust"
homepage = "https://sentry.io/welcome/"
description = """
Sentry Integration for debug images
Sentry integration that adds the list of loaded libraries to events.
"""
edition = "2018"

[package.metadata.docs.rs]
all-features = true

[dependencies]
sentry-core = { version = "0.18.0", path = "../sentry-core" }
lazy_static = "1.4.0"
Expand Down
10 changes: 10 additions & 0 deletions sentry-debug-images/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
<p align="center">
<a href="https://sentry.io" target="_blank" align="center">
<img src="https://sentry-brand.storage.googleapis.com/sentry-logo-black.png" width="280">
</a>
<br />
</p>

# Sentry SDK debug-images integration

Sentry integration that adds the list of loaded libraries to events.
Loading