返回介绍

公开指标 Expose Metrics

发布于 2024-04-14 00:45:03 字数 2255 浏览 0 评论 0 收藏 0

监控代码内值

公开指标

通过将自定义指标插入您的代码,您将能够实时监控代码中的值。

快速开始

然后您可以编写自己的指标来跟踪重要信息。 提供 4 种不同的探头:

  • 简单指标:可以立即读取的值
    • 例如。 监控变量值
  • 计数器:递增或递减的事物
    • 例如。 正在处理下载,已连接用户
  • Meter:作为事件/间隔测量的事物
    • 例如。 http 服务器每分钟请求
  • 直方图:保留偏向最后 5 分钟的统计相关值库,以探索它们的分布
    • 例如。 监视对数据库执行查询的平均值

API 文档

注意:参考 TX2 API 文档

例子

简单指标:简单的价值报告

这允许公开可以立即读取的值。

const tx2 = require('tx2')

// 这里将每秒调用值函数以获取值
var metric = tx2.metric({
  name    : 'Realtime user',
  value   : function() {
    return Object.keys(users).length
  }
})

// 在这里我们将调用 valvar.set() 来设置新值
var valvar = tx2.metric({
  name    : 'Realtime Value'
})

valvar.set(23)

计数器:顺序值更改

递增或递减的值。

计算活动 Http 请求的示例:

const tx2 = require('tx2')
var http = require('http')

var counter = tx2.counter({
  name : 'Active requests'
})

http.createServer(function (req, res) {
  counter.inc()

  req.on('end', function() {
    // 递减计数器,计数器将等于 0
    counter.dec()
  })
  res.writeHead(200, {'Content-Type': 'text/plain'})
  res.write('Hello World!')
  res.end()
}).listen(6001)

仪表:平均计算值

作为事件/间隔测量的值。

计算每秒查询次数的示例:

const tx2 = require('tx2')
var http = require('http')

var meter = tx2.meter({
  name      : 'req/sec',
  samples   : 1,
  timeframe : 60
})

http.createServer(function (req, res) {
  meter.mark()
  res.writeHead(200, {'Content-Type': 'text/plain'})
  res.write('Hello World!')
  res.end()
}).listen(6001)
选项

samples 选项是速率单位。 默认为 1 秒。 timeframe 选项是分析事件的时间范围。 默认为 60 秒。

直方图

保留一个偏向于最后 5 分钟的统计相关值库,以探索它们的分布。

const tx2 = require('tx2')

var histogram = tx2.histogram({
  name        : 'latency',
  measurement : 'mean'
})

var latency = 0

setInterval(function() {
  latency = Math.round(Math.random() * 100)
  histogram.update(latency)
}, 100)

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文