摘要: 背景 我们在写 Jenkins 的 Shared Library 时,有时候需要引用外部的一些 jar 包,比如 maven central 的一些 lib 等。 具体到我们的例子,需要引用 Gson 做 json 序列化。 问题 我们的 Shared Library 中有如下代码,用到了 Gson 阅读全文
posted @ 2022-05-21 13:03 wxweven 阅读(213) 评论(0) 推荐(0)
摘要: 背景 我们最近在对 Jenkins 的构建做一些监控,包括 build 时长、队列排队时长、构建结果(成功/失败/abort)等数据。 我们在 Jenkins Shared Library 中获取这些数据,然后通过 HTTP 请求的方式,回调给另外一个监控 Server。 Build 时长、构建结果 阅读全文
posted @ 2022-05-21 11:49 wxweven 阅读(709) 评论(0) 推荐(0)
摘要: 问题现象:CPU 负载过高 我们线上的 jenkins 系统,时不时会发生 CPU 负载过高的现象。 CPU 负载过高后,SRE 同学会收到电话告警。 在我们的监控系统中,可以看到,某些时候,CPU 的负载确实会很高,如下图: 问题排查 Jenkins 系统本身是一个 Java 程序,应对 Java 阅读全文
posted @ 2022-05-20 23:48 wxweven 阅读(1799) 评论(0) 推荐(0)
摘要: 分支 可以把分支名理解为指针,比如 master,test,origin/master 等,都是一个指针,指向某次提交快照 特殊指针HEAD:Git有一个名为 HEAD 的特殊指针,它是一个指针,指向当前所在的本地分支 git branch:列出本地所有分支,当前分支高亮并且前面有*号 git br 阅读全文
posted @ 2020-11-12 11:32 wxweven 阅读(137) 评论(0) 推荐(0)
摘要: 1 package storm.scheduler; 2 3 import java.lang.management.ManagementFactory; 4 import java.lang.management.ThreadMXBean; 5 import java.util.HashMap; 6 import java.util.Map; 7 import java.uti... 阅读全文
posted @ 2016-05-22 17:16 wxweven 阅读(216) 评论(0) 推荐(0)
摘要: package storm.scheduler; import java.lang.management.ManagementFactory; import java.lang.management.ThreadMXBean; import java.util.HashMap; import java.util.Map; import java.util.Set; import cpuinf... 阅读全文
posted @ 2016-05-22 17:15 wxweven 阅读(136) 评论(0) 推荐(0)
摘要: package storm.scheduler; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import backtype.storm.scheduler.Clust... 阅读全文
posted @ 2016-05-22 17:15 wxweven 阅读(149) 评论(0) 推荐(0)
摘要: package storm.scheduler; import java.util.ArrayList; import java.util.Collection; import java.util.List; import java.util.Map; import org.apache.log4j.Logger; import backtype.storm.scheduler.Clu... 阅读全文
posted @ 2016-05-22 17:14 wxweven 阅读(231) 评论(0) 推荐(0)
摘要: 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法,设计目标是为了解决因特网中的热点(Hot spot)问题,初衷和CARP十分类似。一致性哈希修正了CARP使用的简 单哈希算法带来的问题,使得分布式哈希(DHT)可以在P2P环境中真正得到应用。 一致性hash算法... 阅读全文
posted @ 2015-09-11 16:37 wxweven 阅读(183) 评论(0) 推荐(0)
摘要: (一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序来调用的时候,需要使用静态方法,这种代码是被动执行的. 静态方法在类加载的时候 就已经加载 可以用类... 阅读全文
posted @ 2015-09-11 16:27 wxweven 阅读(244) 评论(0) 推荐(0)