Simple, privacy-focused API monitoring & analytics
Apitally helps you understand how your APIs are being used and alerts you when things go wrong.
Just add two lines of code to your project to get started.
This client library for Apitally currently supports the following Rust web frameworks:
- Axum (≥ 0.7.9)
Learn more about Apitally on our 🌎 website or check out the 📚 documentation.
Track traffic, error and performance metrics for your API, each endpoint and individual API consumers, allowing you to make informed, data-driven engineering and product decisions.
Understand which validation rules in your endpoints cause client errors. Capture error details and stack traces for 500 error responses, and have them linked to Sentry issues automatically.
Drill down from insights to individual requests or use powerful filtering to understand how consumers have interacted with your API. Configure exactly what is included in the logs to meet your requirements.
Get notified immediately if something isn't right using custom alerts, synthetic uptime checks and heartbeat monitoring. Notifications can be delivered via email, Slack or Microsoft Teams.
cargo add apitally
Add Apitally to your Axum application using the TowerLayer
middleware.
use apitally::{ApitallyClient, ApitallyLayer, RequestLoggingConfig};
use axum::{Router};
#[tokio::main]
async fn main() {
let mut api_tally_client = ApitallyClient::new("your-client-id", "dev" /* or "prod" etc. */);
api_tally_client.set_request_logging_config(RequestLoggingConfig::blanket_enabled());
let router = Router::new();
// ...routes
router.layer(ApitallyLayer(api_tally_client));
}
Then add the following properties to your env:
APITALLY_CLIENT_ID=11111111-4444-4444-bbbb-xxxxxxxxxxxx
APITALLY_ENVIRONMENT=dev # or "prod" etc.
For further instructions, see our setup guide for Axum.
If you need help please create a new discussion on GitHub or join our Slack workspace.
This library is licensed under the terms of the MIT license.