avatar
文章
2976
标签
100
分类
63
首页
时间轴
标签
分类
知识库
关于
友链
LogoEstom的博客05 client-java 返回首页
搜索
首页
时间轴
标签
分类
知识库
关于
友链

05 client-java

发表于2023-10-21|更新于2023-10-21|微服务
|总字数:66|阅读时长:1分钟|浏览量:

简介

概述

client_java是Prometheus针对JVM类开发语言的client library库,我们可以直接基于client_java用户可以快速实现独立运行的Exporter程序,也可以在我们的项目源码中集成client_java以支持Prometheus。

https://prometheus.github.io/client_java/getting-started/quickstart/

文章作者: Estom
文章链接: https://estom.github.io/2023/10/20/%E5%BE%AE%E6%9C%8D%E5%8A%A1/prometheus/05%20client-java/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Estom的博客!
支持实现程序
cover of previous post
上一篇
06 micrometer
1 Registry引入依赖通过添加如下依赖可以将 Micrometer 收集的服务指标数据发布到 Prometheus 中。 12345<dependency> <groupId>io.micrometer</groupId> <artifactId>micrometer-registry-prometheus</artifactId> <version>${micrometer.version}</version></dependency> 当然如果你还没有确定好接入哪种监测系统,也可以先直接依赖micrometer-core,然后创建一个SimpleMeterRegistry。 可接入监控系统RegistryMicrometer 有一组包含各种监控系统实现的模块,其中的每一种实现被称为registry。 在深入了解 Micrometer 之前,我们首先来看一下监控系统的三个重要特征: 维度(Dimensionality):描述系统是否支持多维度数据模型...
cover of next post
下一篇
03 PromQL
1 简单查询直接查询查询指标的所有时间序列。 123http_requests_total等价于http_requests_total{} 标签匹配PromQL支持使用=和!=两种标签完全匹配模式: 通过使用label=value可以选择那些标签满足表达式定义的时间序列; 反之使用label!=value则可以根据标签匹配排除时间序列; 1http_requests_total{instance="localhost:9090"} PromQL还可以支持使用正则表达式作为匹配条件,多个表达式之间使用|进行分离: 使用label=~regx表示选择那些标签符合正则表达式定义的时间序列; 反之使用label!~regx进行排除; 1http_requests_total{environment=~"staging|testing|development",method!="GET"} 范围查询 返回值中...
相关推荐
cover
2022-12-05
10.如何手写一个消息队列和延迟消息队列?
如何手写一个消息队列和延迟消息队列?第一次听到“消息队列”这个词时,不知你是不是和我反应一样,感觉很高阶很厉害的样子,其实当我们了解了消息队列之后,发现它与普通的技术类似,当我们熟悉之后,也能很快地上手并使用。 我们本课时的面试题是,消息队列的使用场景有哪些?如何手动实现一个消息队列和延迟消息队列? 典型回答消息队列的使用场景有很多,最常见的使用场景有以下几个。 1.商品秒杀比如,我们在做秒杀活动时,会发生短时间内出现爆发式的用户请求,如果不采取相关的措施,会导致服务器忙不过来,响应超时的问题,轻则会导致服务假死,重则会让服务器直接宕机,给用户带来的体验也非常不好。如果这个时候加上了消息队列,服务器接收到用户的所有请求后,先把这些请求全部写入到消息队列中再排队处理,这样就不会导致同时处理多个请求的情况;如果消息队列长度超过可以承载的最大数量,那么我们可以抛弃当前用户的请求,通知前台用户“页面出错啦,请重新刷新”等提示,这样就会有更好的交互体验。 2.系统解耦使用了消息队列之后,我们可以把系统的业务功能模块化,实现系统的解耦。例如,在没有使用消息队列之前,当前台用户完善了个人信息之...
cover
2022-12-05
20.Redis怎样实现的分布式锁?
Redis 怎样实现的分布式锁?“锁”是我们实际工作和面试中无法避开的话题之一,正确使用锁可以保证高并发环境下程序的正确执行,也就是说只有使用锁才能保证多人同时访问时程序不会出现问题。 我们本课时的面试题是,什么是分布式锁?如何实现分布式锁? 典型回答第06篇时讲了单机锁的一些知识,包括悲观锁、乐观锁、可重入锁、共享锁和独占锁等内容,但它们都属于单机锁也就是程序级别的锁,如果在分布式环境下使用就会出现锁不生效的问题,因此我们需要使用分布式锁来解决这个问题。 分布式锁是控制分布式系统之间同步访问共享资源的一种方式。是为了解决分布式系统中,不同的系统或是同一个系统的不同主机共享同一个资源的问题,它通常会采用互斥来保证程序的一致性,这就是分布式锁的用途以及执行原理。 分布式锁示意图,如下图所示: 分布式锁的常见实现方式有四种: 基于 MySQL 的悲观锁来实现分布式锁,这种方式使用的最少,因为这种实现方式的性能不好,且容易造成死锁; 基于 Memcached 实现分布式锁,可使用 add 方法来实现,如果添加成功了则表示分布式锁创建成功; 基于 Redis 实现分布式锁,这也是本课...
cover
2021-12-24
pigz
pigz可以用来解压缩文件,gzip的并行实现升级版 补充说明pigz命令可以用来解压缩文件,最重要的是支持多线程并行处理,解压缩比gzip快。主页: http://zlib.net/pigz/ 语法12pigz [ -cdfhikKlLmMnNqrRtz0..9,11 ] [ -b blocksize ] [ -p threads ] [ -S suffix ] [ name ... ]unpigz [ -cfhikKlLmMnNqrRtz ] [ -b blocksize ] [ -p threads ] [ -S suffix ] [ name ... ] 参数12345678910111213141516171819202122232425262728293031-0 to -9, -11 # Compression level (level 11, zopfli, is much slower)--fast, --best # Compression levels 1 and 9 respectively-b, --blocksize mmm...
cover
2023-11-09
06 web开发2-拦截器
拦截器1 Servlet中的FilterServlet中的过滤器Filter是实现了javax.servlet.Filter接口的服务器端程序,主要的用途是设置字符集、控制权限、控制转向、做一些业务逻辑判断等。 Filter有如下几个用处。 在HttpServletRequest到达Servlet之前,拦截客户的HttpServletRequest。 根据需要检查HttpServletRequest,也可以修改HttpServletRequest头和数据。 在HttpServletResponse到达客户端之前,拦截HttpServletResponse。 根据需要检查HttpServletResponse,也可以修改HttpServletResponse头和数据。 Filter有如下几个种类。 用户授权的Filter:Filter负责检查用户请求,根据请求过滤用户非法请求。 日志Filter:详细记录某些特殊的用户请求。 负责解码的Filter:包括对非标准编码的请求解码。 能改变XML内容的XSLT Filter等。 Filter可以负责拦截多个请求或响应;一个请求或响应也...
cover
2019-09-29
01latex编译原理
latex 概念1 tex语言介绍Tex是一种语言类型。同时其也是一种排版引擎。基本的TeX系统只有300多个元命令 (primitive) ,十分精悍,但是很难读懂。 tex语言使用流程 语言格式.tex -> 编译程序tex/etex/latex -> .dvi -> 排版程序pdfTex/PdfLatex -> .Pdf tex语言格式分类 Plain Tex是一种语言格式。最小宏集 LaTeX也是一种语言格式。常见宏集合 ConTeXt:另一种常见的格式。另一种常见宏集合 分别由Tex语言中不同的宏包定义的语言格式 2 tex编译排版介绍tex语言编译工具 tex命令是用来编译Plain Tex书写的.tex文件生成.dvi文件程序。 etex命令是用来编译Plain Tex书写的.tex文件生成.dvi文件程序。 latex命令用来编译使用LaTeX语言写的.tex文件生成为.dvi文件程序。 tex语言排版工具dvipdfmx程序用来对dvi文件进行排版生成pdf文件。 tex语言编译排版工具 用来将tex...
cover
2021-03-04
5.C++内存分配
内存分配内存分配示意图 Unused Memory:用于程序代码块对齐Read-only code segment:只读,存代码和一些其他的东西 Read/Write data segment: .data:存初始化的全局变量和static变量,另外还有文字常量区,常量字符串就是放在这里,程序结束后有系统释放 .bss:存未初始化的全局变量和static变量 Heap:通过new和malloc由低到高分配,由delete或free手动释放或者程序结束自动释放 Shared libraries:调用的库文件,位于堆和栈之间 Stack:由高向低增长,和堆的增长方式相对,对不同的OS来说,栈的初始大小有规定,可以修改,目前默认一般为2M,由编译器自动分配释放 Kernel virtual memory:用户不可见不能访问 内存分配说明C/C++编译的程序所占用内存区域一般分为以下5个部分: 栈区(stack):由编译器自动分配和释放,用来存放函数的参数、局部变量等。其操作方式类似于数据结构中的栈。 堆区(heap):一般由程序员分配和释放(通过mallo...
avatar
Estom
也许那年在绿色的麦浪中奔跑的时候,就注定了我此生的繁华与悲叹
文章
2976
标签
100
分类
63
关注
公告
欢迎参观Estom的小屋
目录
  1. 1. 简介
    1. 1.1. 概述
最新文章
自引用泛型概述
自引用泛型概述2025-12-21
02 集合底层结构
02 集合底层结构2025-12-18
11 Arrays和Collections
11 Arrays和Collections2025-12-18
06 JUC并发容器
06 JUC并发容器2025-12-18
30 问题排查和性能优化指南
30 问题排查和性能优化指南2025-09-14
© 2025 - 2026 By Estom框架 Hexo 8.1.1|主题 Butterfly 5.5.3
搜索
数据加载中