10个版本

0.2.3 2022年10月27日
0.2.2 2021年9月9日
0.1.5 2020年7月25日
0.1.4 2020年2月27日
0.1.1 2020年1月24日

#234 in 调试

Download history 478/week @ 2024-03-13 261/week @ 2024-03-20 150/week @ 2024-03-27 135/week @ 2024-04-03 198/week @ 2024-04-10 179/week @ 2024-04-17 141/week @ 2024-04-24 81/week @ 2024-05-01 69/week @ 2024-05-08 121/week @ 2024-05-15 136/week @ 2024-05-22 201/week @ 2024-05-29 234/week @ 2024-06-05 197/week @ 2024-06-12 151/week @ 2024-06-19 101/week @ 2024-06-26

710每月下载量
用于 cosmos-utils

MIT 许可证

225KB
4.5K SLoC

Rust应用洞察

build-status crate-status docs-status dependabot-status

本项目为应用洞察提供Rust SDK。应用洞察是一个APM服务,帮助监控运行中的应用程序。此Rust代码包允许将各种类型的遥测信息发送到服务器,以便在Azure门户中稍后进行可视化。

🚩 免责声明
本项目不是微软官方认可的产品,也不代表微软对任何未来产品提供的认可。

微软和Azure是微软公司的注册商标。

安装

$ cargo add appinsights

或者只需将其添加到你的 Cargo.toml

[dependencies]
appinisghts = "0.2"

用法

要开始跟踪应用程序的遥测信息,首先需要获取一个 instrumentation key 并使用它初始化 TelemetryClient

此客户端将用于将所有遥测数据发送到应用洞察。此SDK不会自动收集任何遥测信息,因此应在代码的各个地方使用此客户端来报告有关应用程序的健康信息。

use appinsights::TelemetryClient;

#[tokio::main]
async fn main() {
    // configure telemetry client with default settings
    let client = TelemetryClient::new("<instrumentation key>".to_string());
    
    // send event telemetry to the Application Insights server
    client.track_event("application started");

    // stop the client
    client.close_channel().await;
}

如果您需要更多地控制客户端的行为,可以创建一个新的 TelemetryConfig 实例,并使用它初始化一个 TelemetryClient

use std::time::Duration;
use appinsights::{TelemetryClient, TelemetryConfig};
use appinsights::telemetry::SeverityLevel;

#[tokio::main]
async fn main() {
    // configure telemetry config with custom settings
    let config = TelemetryConfig::builder()
        // provide an instrumentation key for a client
        .i_key("<instrumentation key>")
        // set a new maximum time to wait until data will be sent to the server
        .interval(Duration::from_secs(5))
        // construct a new instance of telemetry configuration
        .build();

    // configure telemetry client with default settings
    let client = TelemetryClient::from_config(config);

    // send trace telemetry to the Application Insights server
    client.track_trace("A database error occurred", SeverityLevel::Warning);

    // stop the client
    client.close_channel().await;
}

许可证

本项目根据MIT 许可证许可。

依赖

~7–21MB
~332K SLoC