NCC Mocha v0.2.0 发布, 新增对 Metrics 的支持
项目简介
Mocha 是一个基于 .NET 开发的 APM 系统,同时提供可伸缩的可观测性数据分析和存储平台。
项目地址:https://github.com/dotnetcore/mocha
注意:使用 git clone --recursive 克隆本仓库以及子模块。
项目进度
目前项目处于早期阶段,已经完成了对 Trace 和 Metrics 的基础支持,可以通过 OTel SDK 上报数据到 Mocha Distributor,然后通过 Grafana 展示。目前仅支持通过 docker-compose 进行简单体验。
v0.2.0 发布内容
- 支持 OTel Metrics 数据上报
- 支持通过 Grafana 展示 Metrics 数据
快速体验
在项目根目录下的docker目录中,执行以下命令启动项目:
docker-compose up -d
启动成功后,可以看到以下容器:
- distributor: 提供用于接收 OTLP 数据的 gRPC API
- query: 提供用于接收查询协议的 HTTP API
- mysql: 用于存储数据
- grafana: 用于展示数据
数据的发送
将 SDK 的 OTLP exporter 配置为 http://localhost:4317 即可将数据发送到 distributor。
数据的查询
Trace
配置 Jaeger 数据源
我们实现了支持 Jaeger 查询协议的 API,因此可以直接在 Grafana 中配置 Jaeger 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。


选择 Jaeger。

配置 Jaeger 数据源的 URL 为 http://query:5775/jaeger。

点击 Save & Test,如果显示如下信息,则说明配置成功。

如果还没往 distributor 发送过数据,会显示如下警告信息。

Trace 数据的查询
点击左侧的菜单,选择 Explore,然后选择 Jaeger 数据源,即可看到 Trace 数据。


Metrics
配置 Prometheus 数据源
我们实现了支持 PromQL 查询协议的 API,因此可以直接在 Grafana 中配置 Prometheus 数据源。
访问 http://localhost:3000/ 即可看到grafana的登录页面。用户名和密码都是admin。
登录后,点击左侧的菜单,选择 Data Sources,然后点击 Add data source。
选择 Prometheus。

配置 Prometheus 数据源的 URL 为 http://query:5775/prometheus。

配置 HTTP Method 为 POST。

点击 Save & Test,如果显示如下信息,则说明配置成功。

Metrics 数据的查询
点击左侧的菜单,选择 Explore,然后选择 Prometheus 数据源,即可看到 Metrics 数据。

点击左侧的菜单,选择 Dashboards,即可创建一个 Dashboard。


选择我们刚刚创建的 Prometheus 数据源。

接下来就可以根据需要添加 Panel,展示 Metrics 数据了。

目前的限制
目前 Mocha 支持的 Prometheus 的查询语法有限,更完整的支持需要等待后续版本。
目前支持的 function 主要有:
abs, absent, histogram_quantile, increase, rate, avg_over_time, min_over_time, max_over_time, sum_over_time, count_over_time, stdvar_over_time, stddev_over_time
目前支持的 aggregation 主要有:
sum, min, max, avg, count, stdvar, stddev, count, count_values, topk, bottomk, quantile
NCC Mocha v0.2.0 发布, 新增对 Metrics 的支持的更多相关文章
- LAL v0.32.0发布,更好的支持纯视频流
Go语言流媒体开源项目 LAL 今天发布了v0.32.0版本.距离上个版本刚好一个月时间,LAL 依然保持着高效迭代的状态. LAL 项目地址:https://github.com/q19120177 ...
- terraform v0.12.0 发布了
v0.12.0 相比以前的有好多新的特性,包括语法,以及函数增强,昨天还在折腾的一个json解码的问题,直接使用 v0.12.0 就可以解决了,同时也包含了for 操作处理同时官方文档对于v0.12. ...
- Restful.Data v2.0发布,谢谢你们的支持和鼓励
v1.0发布后,承蒙各位博友们的热心关注,也给我不少意见和建议,在此我真诚的感谢 @冰麟轻武 等朋友,你们的支持和鼓励,是这个开源项目最大的推动力. v2.0在除了细枝末节外,在功能上主要做了一下更新 ...
- Plink v0.1.0 发布——基于Flink的流处理平台
Plink是一个基于Flink的流处理平台,旨在基于 [Apache Flink]封装构建上层平台. 提供常见的作业管理功能.如作业的创建,删除,编辑,更新,保存,启动,停止,重启,管理,多作业模板配 ...
- Event Store 2.0发布,带来了安全支持和测试版Projections库
Event Store 2.0版本于上周发布,它带来了安全支持允许锁定Event Store和在事件流上设置访问控制列表.其主要新特性包括: HTTP和TCP之上的身份认证,包括账户管理 测试版Pro ...
- Twitter Bootstrap 3.0 正式发布,更好地支持移动端开发
Twitter Bootstrap 3.0 终于正式发布了.这是一个圆滑的,直观的和强大的移动优先的前端框架,用于更快,更容易的 Web 开发.几乎一切都已经被重新设计和重建,更好的支持移动端设备. ...
- GraphScope v0.12.0 版本发布
GraphScope 每月进行常规版本的迭代与发布,GraphScope v0.12.0 全新版本在四月如期而至.v0.12.0 为交互式图查询 GAIA 引入全新的 IR 层以及新增 Giraph ...
- Kurator v0.3.0版本发布
摘要:2023年4月8日,Kurator正式发布v0.3.0版本. 本文分享自华为云社区<华为云 Kurator v0.3.0 版本发布!集群舰队助力分布式云统一管理>,作者:云容器大未来 ...
- smartjs 0.2发布 - 新增oop模块&AOP增强
SmartJS2.0发布,更新内容如下: 新增oop(klass,factory)模块: promiseEvent加入非阻塞模式noBlock: trigger加入属性监听; smartjs主模块优化 ...
- Nacos 发布 v0.8.0 Pre-GA版本,安全稳定上生产?
服务注册和服务配置开源项目 Nacos 本周发布了 v0.8.0 Pre-GA 版本,作为开源项目生命周期中的里程碑版本之一,v0.8.0 Pre-GA版本支持登录.命名空间.Metrics监控(对接 ...
随机推荐
- Python - [03] 基础语法
题记部分 一.标识符 第一个字符必须是字母表中字母或下划线_ 标识符的其他部分由字母.数字和下划线组成 标识符对大小写敏感 二.Python保留字 三.注释 (1)单行注释:以#开头 #!/usr/b ...
- Linux系列:如何用 C#调用 C方法造成内存泄露
一:背景 1. 讲故事 好久没写文章了,还是来写一点吧,今年准备多写一点 Linux平台上的东西,这篇从 C# 调用 C 这个例子开始.在 windows 平台上,我们常常在 C++ 代码中用 ext ...
- 使用nodejs安装并使用vue操作步骤
1.下载安装nodejs 官网下载nodejs并安装,我这边选择Windows的20版本 下载地址:https://nodejs.org/en/download/prebuilt-installer ...
- C语言(数据结构)时间标记
数据结构 时间标记 循环输出1~N的数: #include<stdio.h>#include<time.h>clock_t start,stop;//clock_t是clock ...
- 李沐动手学深度学习V2-chapter_convolutional-modern
李沐动手学深度学习V2 文章内容说明 本文主要是自己学习过程中的随手笔记,需要自取 课程参考B站:https://space.bilibili.com/1567748478?spm_id_from=3 ...
- 张高兴的大模型开发实战:(一)使用 Selenium 进行网页爬虫
目录 什么是 Selenium 环境搭建与配置 安装 Selenium 下载浏览器驱动 基础操作 启动浏览器并访问网页 定位网页元素 通过 ID 定位 通过 CSS 选择器定位 通过 XPath 定位 ...
- 编程神器Trae:当我用上后,才知道自己的创造力被低估了多少
"AI会让每个人都能成为工具创造者,打破你能力边界,有时候只需要一个想法." AI粉嫩特攻队,2025年3月23日. 前几天参加了一场行业闭门研讨会,满满1个半小时的干货演讲让我收 ...
- android中大咖:TlistView
d的android中的Tlistview相当于cxGrid,其开发使用中的主咖地位至高无上. 可是如何高效使用快速实现的需求呢?需要的话补官方的教程 上图: GOODLUCK!
- TidHTTP的post编码,老掉牙的问题
TidHTTP使用post时,需要提交json字符串. 那么采用什么编码,这个问题就头大了.目前xe已经不要考虑编码转换问题.但是.... 我们使用ISuperObject操控json.那么最后提交到 ...
- ro在xe10.3上的安装
在学习研究RO. RO9.2.101.1295在xe10.3上安装遇到新问题.记录处理的办法: 没有采用执行exe安装的方法.而是采用复制源代码后编译安装. 1.把生成的bpl.dcp安装到默认目录, ...