Storm中如何进行Librato的Metric度量的实现
发表于:2026-11-02 作者:千家信息网编辑
千家信息网最后更新 2026年11月02日,Storm中如何进行Librato的Metric度量的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。辐射性质介绍一个
千家信息网最后更新 2026年11月02日Storm中如何进行Librato的Metric度量的实现
Storm中如何进行Librato的Metric度量的实现,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。
辐射性质介绍一个Librato的Metric度量的实现
package com.digitalpebble.storm.crawler;import java.util.ArrayList;import java.util.Collection;import java.util.HashMap;import java.util.HashSet;import java.util.Iterator;import java.util.List;import java.util.Map;import java.util.Set;import java.util.concurrent.Future;import java.util.concurrent.TimeUnit;import org.apache.commons.lang.StringUtils;import org.codehaus.jackson.map.ObjectMapper;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import backtype.storm.metric.api.IMetricsConsumer;import backtype.storm.task.IErrorReporter;import backtype.storm.task.TopologyContext;import com.librato.metrics.HttpPoster;import com.librato.metrics.HttpPoster.Response;import com.librato.metrics.LibratoBatch;import com.librato.metrics.NingHttpPoster;import com.librato.metrics.Sanitizer;import com.librato.metrics.Versions;/** Sends the metrics to Librato **/public class LibratoMetricsConsumer implements IMetricsConsumer { public static final int DEFAULT_BATCH_SIZE = 500; private static final Logger LOG = LoggerFactory .getLogger(LibratoMetricsConsumer.class); private static final String LIB_VERSION = Versions.getVersion( "META-INF/maven/com.librato.metrics/librato-java/pom.properties", LibratoBatch.class); private static final ObjectMapper OBJECT_MAPPER = new ObjectMapper(); private final Sanitizer sanitizer = new Sanitizer() { public String apply(String name) { return Sanitizer.LAST_PASS.apply(name); } }; private int postBatchSize = DEFAULT_BATCH_SIZE; private long timeout = 30; private final TimeUnit timeoutUnit = TimeUnit.SECONDS; private String userAgent = null; private HttpPoster httpPoster; private Set metricsToKeep = new HashSet(); public void prepare(Map stormConf, Object registrationArgument, TopologyContext context, IErrorReporter errorReporter) { // TODO configure timeouts // this.timeout = timeout; // this.timeoutUnit = timeoutUnit; // this.postBatchSize = postBatchSize; String agentIdentifier = (String) stormConf.get("librato.agent"); if (agentIdentifier == null) agentIdentifier = "storm"; String token = (String) stormConf.get("librato.token"); String username = (String) stormConf.get("librato.username"); String apiUrl = (String) stormConf.get("librato.api.url"); if (apiUrl == null) apiUrl = "https://metrics-api.librato.com/v1/metrics"; // check that the values are not null if (StringUtils.isBlank(token)) throw new RuntimeException("librato.token not set"); if (StringUtils.isBlank(username)) throw new RuntimeException("librato.username not set"); this.userAgent = String.format("%s librato-java/%s", agentIdentifier, LIB_VERSION); this.httpPoster = NingHttpPoster.newPoster(username, token, apiUrl); // get the list of metrics names to keep if any String metrics2keep = (String) stormConf.get("librato.metrics.to.keep"); if (metrics2keep != null) { String[] mets = metrics2keep.split(","); for (String m : mets) metricsToKeep.add(m.trim().toLowerCase()); } } // post(String source, long epoch) public void handleDataPoints(TaskInfo taskInfo, Collection dataPoints) { final Map payloadMap = new HashMap(); payloadMap.put("source", taskInfo.srcComponentId + "_" + taskInfo.srcWorkerHost + "_" + taskInfo.srcTaskId); payloadMap.put("measure_time", taskInfo.timestamp); final List 看完上述内容是否对您有帮助呢?如果还想对相关知识有进一步的了解或阅读更多相关文章,请关注行业资讯频道,感谢您对的支持。
帮助
清楚
内容
对此
性质
文章
新手
更多
知识
行业
资讯
资讯频道
难题
需求
频道
进一
学习
支持
辐射
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
手磨咖啡
中智农互联网科技
新华互联网科技学校
中国互联网科技股
厦门中拓互联网络科技有限公司
互联网科技的
善班互联网科技有限公司
伴你行互联网科技有限公司
卓越科技互联网 招聘
成都仁贤领冠互联网科技有限公司
语蝶互联网科技有限公司
中国互联网十大科技股排名
互联网科技的全部知识
长沙茂晟互联网科技有限公司
合肥互联网科技公司公章图片
山东星卡互联网科技有限公司官网
每天都有哪些好的互联网科技
富国互联网科技002692
互联网科技和医药行业
现代互联网科技公司
互联网科技财经
奇酷互联网科技
壹账通互联网科技
江苏南京365互联网科技
福建科技产业互联网发展
互联网科技扶贫时间
翼展科技 首家互联网医院
工业互联网山东科技大学
互联网安防科技感
广西科技产业互联网是什么