热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

解析与应用:org.apache.gobblin.metrics.GobblinMetrics.getName()方法

本文详细探讨了Java中org.apache.gobblin.metrics.GobblinMetrics类下的getName()方法的使用场景及其代码实现,提供了多个实际应用示例以加深理解。

本文深入分析了 Java 开发中 org.apache.gobblin.metrics.GobblinMetrics.getName() 方法的应用实例,旨在帮助开发者更好地理解和使用该方法。这些实例大多源自 GitHubStackOverflowMaven 等知名开发平台,经过精心挑选和整理,具备较高的学习价值和实用性。

方法概述

英文描述: 获取此 GobblinMetrics 的名称。
中文解释: 此方法用于返回 GobblinMetrics 实例的名称。目前,该方法的功能与 #getId() 方法相同。

应用场景

示例 1:创建失败日志目录
此示例展示了如何在 Apache Gobblin 项目中使用 getName() 方法来创建失败日志的存储目录。
Path failureLogDir = new Path(properties.getProperty(ConfigurationKeys.FAILURE_LOG_DIR_KEY), this.getName());
if (!fs.exists(failureLogDir) && !fs.mkdirs(failureLogDir)) {
LOGGER.error("Failed to create failure log directory for metrics " + this.getName());
return;
}

示例 2:创建度量日志目录
另一个常见的用例是在创建度量日志目录时使用 getName() 方法。
Path metricsLogDir = new Path(properties.getProperty(ConfigurationKeys.METRICS_LOG_DIR_KEY), this.getName());
if (!fs.exists(metricsLogDir) && !fs.mkdirs(metricsLogDir)) {
LOGGER.error("Failed to create metric log directory for metrics " + this.getName());
return;
}

示例 3:测试 Instrumented 类
此示例展示了如何在单元测试中利用 getName() 方法来验证 Instrumented 类的行为。
@Test
public void testInstrumented() {
GobblinMetrics gobblinMetrics = GobblinMetrics.get("parent.context");
State state = new State();
state.setProp(ConfigurationKeys.METRICS_ENABLED_KEY, Boolean.toString(true));
state.setProp(Instrumented.METRIC_CONTEXT_NAME_KEY, gobblinMetrics.getName());
Instrumented instrumented = new Instrumented(state, InstrumentedExtractor.class);
Assert.assertNotNull(instrumented.getMetricContext());
Assert.assertTrue(instrumented.getMetricContext().getParent().isPresent());
Assert.assertEquals(instrumented.getMetricContext().getParent().get(), gobblinMetrics.getMetricContext());
Map tags = instrumented.getMetricContext().getTagMap();
Map expectedTags = new HashMap<>();
expectedTags.put("construct", Constructs.EXTRACTOR.toString());
expectedTags.put("class", InstrumentedExtractor.class.getCanonicalName());
expectedTags.put(MetricContext.METRIC_CONTEXT_ID_TAG_NAME, tags.get(MetricContext.METRIC_CONTEXT_ID_TAG_NAME).toString());
expectedTags.put(MetricContext.METRIC_CONTEXT_NAME_TAG_NAME, tags.get(MetricContext.METRIC_CONTEXT_NAME_TAG_NAME).toString());
Assert.assertEquals(tags.size(), expectedTags.size());
for (Map.Entry tag : tags.entrySet()) {
Assert.assertTrue(expectedTags.containsKey(tag.getKey()));
Assert.assertEquals(expectedTags.get(tag.getKey()), tag.getValue().toString());
}
}


推荐阅读
author-avatar
mobiledu2502909447
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有