7 个版本
使用旧的 Rust 2015
0.1.6 | 2016 年 9 月 23 日 |
---|---|
0.1.5 | 2016 年 7 月 22 日 |
0.1.4 | 2016 年 5 月 16 日 |
#997 在 嵌入式开发 中
265KB
6K SLoC
metrics_controller
- |cargo test| -- 构建 library 和主要目标进行测试,运行单元测试
- |RUST_TEST_THREADS=1 cargo test --features integration| -- 构建 library 和主要目标进行测试,串行运行集成测试
- |cargo clean| -- 清理目标
- |cargo build| -- 只构建 library
- |cargo doc| -- 创建 'rustdoc' 文档
工具链
运行 |multirust default nightly| 然后 |multirust override nightly-2016-09-21| 确保您有正确的 rust 版本。
针对 Mac OS X 的额外步骤
指标库需要最新的 openssl 库。为了确保您有正确的库,我们建议您安装 brew 并运行
brew install openssl
source tools/mac-os-x-setup.source.sh
Raspberry Pi
为 Raspberry Pi 交叉编译指标库
docker run -it russnicoletti/metrics_controller-pi
cd metrics_controller
cargopi build
日志记录
指标库使用 env_logger
包进行日志记录功能。该包的两个显著特点是
- 日志消息写入 stderror
- 使用环境变量来确定日志级别
指定日志级别的环境变量是 CD_METRICS_LOG
。例如,在运行示例程序时将日志级别设置为 info
,命令行将是
CD_METRICS_LOG=info target/debug/examples/main
这将为指标库和所有由指标库使用的 rust 模块启用 info 级别日志记录。要限制日志记录为指标库消息,请使用 env_logger
过滤机制并指定包含在指标库日志消息中的前缀 -- CD-METRICS
CD_METRICS_LOG=info/CD-METRICS target/debug/examples/main
并且,当然,将日志消息重定向到文件
CD_METRICS_LOG=info/CD-METRICS target/debug/examples/main 2> log
JavaScript 实现
Nodejs 模块
cd-metrics
Nodejs 模块是 CD 指标库的 Nodejs 实现。请参阅 ./examples/node_demo.js 了解 cd-metrics
模块的示例用法。
基于浏览器的模块
./dist/metrics.js 是基于浏览器的 CD 指标库的 JavaScript 实现。请参阅 ./examples/index.html 以了解示例用法。
测试
单元测试
运行 cargo test
集成测试
要运行集成测试
1. Install chai: |npm install chai|
2. Install mocha: |npm install mocha|
3. Load test/metrics_test.html in a browser.
请注意,测试可能需要最多 3 分钟才能执行,因为它正在验证数据是否已收到服务器。
C接口
有一个 C 接口,可以用于 C 和 Java 应用程序。
要使用此功能
- 运行 |cargo build|
- 这将创建一个位于 ./target/debug/libmetrics_controller.dylib(Mac)、.so(Linux)或 .dll(Windows)下的目标。
- 请参阅 ./examples/ffi_test.c 了解如何调用库以及如何运行示例的说明。
依赖关系
约 12MB
约 258K SLoC