Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

openfalcon-perfcounter

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

openfalcon-perfcounter

Connect Metrics and Open-Falcon for Node.js

  • 0.0.2
  • latest
  • Source
  • npm
  • Socket score

Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Weekly downloads
 
Created
Source

说明

Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案,分为Agent、Transfe、Graph、Sender、Judge等模块。Agent会定时搜集机器的相关信息并上报;同时可以接收用户自定义数据

Metrics 提供了强大的统计功能,分为guage、counter、meter、histogram、timer 5种基础数据结构。其Node实现为Node Metrics

本模块 基于Node实现,主要功能为:

  1. 提供简易调用接口
  2. 统计分析相关数据
  3. 转换数据为Agent可接受格式
  4. 定时发送数据到Agen

使用方式

安装

npm install openfalcon-perfcounter

调用

var PerfCounter = require('openfalcon-perfcounter').getInstance();
PerfCounter.count(eventName, count);            // 统计次数,可形成频率
PerfCounter.duration(eventName, duration);      // 统计时间,可形成分布

就是这么简单,相关数据在搭建好的Falcon平台上就可以看到了。

API

1.引入 var OP = require('openfalcon-perfcounter');

2.设置 OP.setOption(option); 初始设置:

{
  agentUri: 'http://127.0.0.1:1988/v1/push',
  step: 60,         // 每隔60秒向agent发送一次数据
  endpoint: os.hostname() || 'localhost',
  cluster: {
    connInterval: 1
  }
};

若不调用,则使用初始设置。

3.获取实例

var PerfCounter = OP.getInstance();             // 用于普通模式
var PerfCounter = OP.getClusterInstance();      // 用于cluster模式

若使用cluster模式,需调用getClusterInstance()。因为多个进程就同一event向Agent发送数据,Agent不会自动加和;若调用getClusterInstance(),PerfCounter会在每个worker进程向master进程发送数据,由master进程加和后发送给Agent。

4.设置Tag PerfCounter.addTags(eventName, {k1: v1, k2: v2})

Tag 会发送到Agent模块。

5.计数

PerfCounter.count(eventName, count);            // 统计次数,可形成频率
PerfCounter.duration(eventName, duration);      // 统计时间,可形成分布

perfCounter会自动分析出count()的 CPS-1-min、CPS-5-min、CPS-15-min,即1分钟、5分钟、15分钟内的调用频率(次/秒)

PerfCounter会自动分析出duration()的 75-percentile、95-percentile、99-percentile、999-percentile,即75%、95%、99%、99.9% 采样的最大时间。

6.详细控制

同时提供 incCounter、markMeter、updateHistogram、updateTimer 四种方法进行更精确的控制。其实count()与duration()就是利用meter及timer实现的。具体查看代码吧。

Keywords

FAQs

Package last updated on 21 Sep 2015

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc