HarmonyOS-UIAbitity-Gauge 数据量规图表组件,用于将数据展示为环形图表。 接口 Gauge(options:{value: number, min?: number, max? Column({ space: 20 }) { // 使用默认的min和max为0-100,角度范围默认0-360,value值设置 // 参数中设置当前值为75 Gauge 0x317AF7, 1], [0x5BA854, 1], [0xE08C3A, 1], [0x9C554B, 1]]) // 参数设置当前值为75,属性设置值为25,属性设置优先级高 Gauge colors([[0x317AF7, 1], [0x5BA854, 1], [0xE08C3A, 1], [0x9C554B, 1]]) // 210--150度环形图表 Gauge
当我们需要环形展示数据进度,但是又不想使用一个完整的圆环时,Progress组件就不能满足我们的需求,例如汽车的速度表盘,这时我们就需要用引入Gauge组件,他可以满足环形进度展示的同时,设置起始角度, 看一下简单的实现效果:使用介绍:1.Gauge使用时必须设置Gauge(options:{value: number, min?: number, max? : number}),其中,最小值默认0,最大值默认1002.Gauge支持包含一个子组件,子组件的内容区为圆环外圆相切的矩形,如同大正方形区域,可以绘制表盘刻度,指针实现汽车表盘功能。 width('100%') .height("100%") .border({ width: 1 }) } build() { Column({ space: 10 }) { Gauge 内容区') Gauge({ value: this.value, min: this.min, max: this.max }) .contentModifier(new
所以此刻我们将介绍另外的一个工具:Gauge。 它将以 taiko 提供的命令操作为基础,用更自然的操作方式来完成对应的操作。 Gauge还提供了vs code的扩展支持,您可以在VS Code的扩展中(最左侧按钮)进行安装。 接着,在桌面新建一个文件夹gauge-demo,然后在vscode中打开。 在终端中输入: gauge init js 运行完成后,将会得到Gauge的初始化项目。 使用Gauge 在使用之前,先为大家说明一下,Gauge它充当着一个什么样的角色: 首先要明白,taiko为我们操作浏览器提供了便捷的指令,它使用js来编写。 最后在终端中执行: gauge run [你的spec的文件名] 就可以进行测试,最终生成测试报告。
3 何为Gauge类型? Gauge是可以任意上下波动数值的指标类型。 也即Gauge的值可增可减,可升可降。 例如:机器的CPU使用率,可大可小。 3.1 Gauge定义 参见Prometheus Go SDK type Gauge interface { Metric Collector // 指定为任意值 Set(float64) Counter类型的定义是不同的> Add(float64) // 减任意值,该值可正可负 Sub(float64) // 将值设置成当前时间戳,单位s SetToCurrentTime() } 可见Gauge 4 Counter和Gauge的对比 Counter类型HTTP请求量的变化情况,其中T4时刻服务刚重启完,此时指标值恢复从0开始。 Gauge类型指标CPU使用率的变化情况,通过使用Gauge的Set()方法,可将机器的CPU使用率放到指标里。
Grafana 仪表测量(Gauge)图 仪表测量(Gauge)图介绍 Gauge 和Bar Gauge 均是 Grafana 的原生插件,使用简单。 Grafana 有几个版是将 Gauge 放在了 Singlestat 中。 但 Singlestat 只支持返回单个序列/表的查询,而 Gauge 是可以支持同时有多个查询(返回多个值)的,并显示多个仪表测量(Gauge)图。 使用 Gauge 实现仪表测量效果图,展示如下: 注意:还可以 Value mappings 把数字映射成文字。 测量Gauge 调整仪表的显示方式。 显示阈值标签Show threshold labels -控制是否显示阈值。
Gauge # 数据 value = 75.8 # 绘制自定义样式仪表盘 gauge_custom = ( Gauge() .add("", [("自定义样式仪表盘", value) import Gauge # 数据 value = 90.3 # 绘制自定义刻度仪表盘 gauge_custom_scale = ( Gauge() .add("", [("自定义刻度仪表盘 (60, 90), 2) # 实时更新数据并绘制动态仪表盘 def update_dynamic_gauge(): gauge_dynamic = ( Gauge() gauge_line_combination = ( Gauge() .add("", [("仪表盘", value_gauge)]) .set_global_opts( ())) # 绘制仪表盘与柱状图的联动 gauge_bar_interaction = ( Gauge() .add("", [("仪表盘", value_gauge)]) .
ui->screen_gauge_temp = lv_gauge_create(ui->screen, NULL); //Write style LV_GAUGE_PART_MAIN for screen_gauge_temp lv_gauge_set_scale(ui->screen_gauge_temp, 300, 71, 8); lv_gauge_set_range(ui->screen_gauge_temp, 0, ); lv_gauge_set_critical_value(ui->screen_gauge_temp, 40); lv_gauge_set_value(ui->screen_gauge_temp (ui->screen_gauge_humi, LV_GAUGE_PART_MAJOR, &style_screen_gauge_humi_major); //Write style LV_GAUGE_PART_NEEDLE (ui->screen_gauge_humi, 80); lv_gauge_set_value(ui->screen_gauge_humi, 0, 0); //Write codes screen_gauge_press
# HELP process_private_memory_bytes Process private memory size # TYPE process_private_memory_bytes gauge size 0 # HELP system_runtime_poh_size (B) POH (Pinned Object Heap) Size # TYPE system_runtime_poh_size gauge that are currently connected to the adapter. # TYPE prometheus_net_meteradapter_instruments_connected gauge 5 # HELP system_net_sockets_bytes_received Bytes Received # TYPE system_net_sockets_bytes_received gauge system_net_sockets_datagrams_received Datagrams Received # TYPE system_net_sockets_datagrams_received gauge
在工程中添加 C1.Win.C1Chart.2.dll 和 C1.Win.C1Gauge.2.dll 引用。 切换到报表后台代码视图,在报表的 ReportStart 事件中加载第三方控件,代码如下: // 添加 C1Gauge 控件 private void AddGauge1() { C1.Win.C1Gauge.C1Gauge c1Gauge1 = new C1.Win.C1Gauge.C1Gauge(); c1Gauge1.Load(string.Format(@"{0}\Data\C1RadialGauge1. xml", BasePath)); c1Gauge1.BackColor = Color.White; c1Gauge1.Gauges[0].Value = 80; c1Gauge1 .Gauges[1].Value = 88; c1Gauge1.Gauges[2].Value = 75; picture1.Image = c1Gauge1.GetImage(450,300);
meter = Gauge .builder("artemis." + metricName, state, f) .tag("broker", brokerName gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return meter = Gauge .builder("artemis." + metricName, state, f) .tag("broker", brokerName gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return
meter = Gauge .builder("artemis." + metricName, state, f) .tag("broker", brokerName gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return meter = Gauge .builder("artemis." + metricName, state, f) .tag("broker", brokerName gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return gauge : newMeters) { meters.add(gauge.register(meterRegistry)); } return
创建【demo3.py】类 输入以下编码 from pyecharts import Gauge gauge = Gauge("仪表盘") gauge.add("储油量","油表指针",72.5) gauge.render('gauge.html') 执行代码 执行生成【gauge.html】网页 鼠标右键点击【gauga.html】->【Open In】->【Explorer】 双击打开【gauga.html
对比 dropwizard-metrics guage final Gauge<Long> sizeGauge = new Gauge<Long>() { gauge = Gauge .builder("gauge", myObj, myObj::gaugeValue) .description("a description of what this gauge does") // optional .tags("region", "test") // optional .register(registry); 可以看到micrometer 0.0 # HELP jvm_buffer_count An estimate of the number of buffers in the pool # TYPE jvm_buffer_count gauge current number of live threads including both daemon and non-daemon threads # TYPE jvm_threads_live gauge
jvm_buffer_count_buffers An estimate of the number of buffers in the pool # TYPE jvm_buffer_count_buffers gauge HELP spring_integration_channels The number of message channels # TYPE spring_integration_channels gauge maximum amount of memory in bytes that can be used for memory management # TYPE jvm_memory_max_bytes gauge # HELP tomcat_sessions_active_current_sessions # TYPE tomcat_sessions_active_current_sessions gauge of classes that are currently loaded in the Java virtual machine # TYPE jvm_classes_loaded_classes gauge
= wx.Gauge(self, -1, name="Guage") self.sizer.Add(self.status, 0, wx.ALIGN_CENTER | wx.ALL, 5) self.sizer.Add(self.gauge, 0, wx.EXPAND | wx.ALIGN_CENTER_HORIZONTAL (x, "Gauge is at %d" % x)# x += 10# time.sleep(1) def on_gauge_timer(self , event): # Added method if self.gauge_pos < 100: self.gauge_pos += 10 self.update(self.gauge_pos, "Gauge is at %d" % self.gauge_pos) else: self.timer.Stop
Gauge:可增可减的仪表盘。Gauge类型的指标侧重于反应系统当前的状态。因此此类指标的数据可增可减。常见的例如node_memory_MemAvailable_bytes(可用内存)。 # HELP my_example_gauge_data my example gauge data # TYPE my_example_gauge_data gauge my_example_gauge_data 是gauge类型指标。 Gauge类型的内置接口有: type Gauge interface { Metric Collector // Set sets the Gauge to an arbitrary SetToCurrentTime() } 需要注意的是Gauge提供了Sub(float64)的减操作接口,因为Gauge是可增可减的指标。Counter因为是只增不减的指标,所以只有加的接口。
. # TYPE go_goroutines gauge go_goroutines 7 # HELP go_info Information about the Go environment. # TYPE go_info gauge go_info{version="go1.16.7"} 1 # HELP go_memstats_alloc_bytes Number of bytes allocated Number of bytes used for mspan structures obtained from system. # TYPE go_memstats_mspan_sys_bytes gauge Number of heap bytes when next garbage collection will take place. # TYPE go_memstats_next_gc_bytes gauge 本文只使用了计数类型 Counter 的指标,对于其它场景可能还需要 Gauge,Histgram 以及 Summary 类型的指标类型。
数值 Gauge类似Counter,但Gauge值可以减少。 ' }); gauge.set(10); // Set to 10 gauge.inc(); // Inc with 1 gauge.inc(10); // Inc with 10 gauge.dec( ); // Dec with 1 gauge.dec(10); // Dec with 10 有一些公用的工具案例: gauge.setToCurrentTime(); // Sets value to gauge.set(100, 1485531442231); // Set gauge value and timestamp as milliseconds since Unix epoch gauge.set Date()); // Set gauge value and timestamp as Date gauge.set({ method: 'GET', statusCode: '200' }, 100
getGauge() { return Gauge.build() .name("blog_fans") //这里模拟粉丝数(注:这里我们没设置label ) .help("gauge_blog_fans") .register(); } public static void gauge = context.getBean(Gauge.class); PushGateway gateway = context.getBean(PushGateway.class ); Random rnd = new Random(); //粉丝数先预设50 gauge.inc(50); while (true) gateway.push(counter, "job-counter-test"); gateway.push(gauge, "job-gauge-test");
INPROGRESS = Gauge('app_inprogress', 'number of http server in progress') LAST = Gauge('app_last_seconds Gauge : 仪表可以升降。 # Example from prometheus_client import Gauge g = Gauge('my_inprogress_requests', 'Description of gauge example: from prometheus_client import Gauge g = Gauge('my_inprogress_requests', 'Description of gauge g = Gauge('cup_use_percent_test_metric', 'Description of gauge',['hostip']) host_ip = socket.gethostbyname