MetricReusableDataMarshaler passes MetricData count instead of data point count to otel.sdk.exporter.metric_data_point.{inflight,exported}
维护者通常 2 天内回复
评估
- 难度
- 2/5
- 预计耗时
- 1-3 小时
- 新手友好度
- 76/100
- Issue 类型
- 缺陷
- 描述清晰度
- 描述清楚
- 活跃度
- 活跃
- 技术栈
- java
调研方向
阅读 exporters/otlp/common/src/main/java/io/opentelemetry/exporter/internal/otlp/metrics/MetricReusableDataMarshaler.java,重点查看 export(Collection<MetricData>) 及其对 doExport 的调用。跟踪 OTLP gRPC 和 HTTP exporter 如何记录项目数量,然后查找或补充对包含多个数据点和零个数据点的指标的测试覆盖。完成条件是两个 exporter 的指标都统计所有已导出 MetricData 中数据点的总数。
由索引模型根据 Issue 内容生成。
描述
Description
In MetricReusableDataMarshaler.export(Collection<MetricData> metrics), metrics.size() (the number of MetricData instruments) is passed as the item count to doExport:
In OtlpGrpcMetricExporter and OtlpHttpMetricExporter, doExport delegates to GrpcExporter.export(exportRequest, numItems) and HttpExporter.export(exportRequest, numItems), which pass numItems to ExporterInstrumentation.startRecordingExport(numItems) (SemConvExporterMetrics.startRecordingExport(numItems)), recording otel.sdk.exporter.metric_data_point.inflight and otel.sdk.exporter.metric_data_point.exported. When a MetricData contains multiple PointData entries (or 0 points), the recorded count reflects the number of metric instruments rather than the number of metric data points ({data_point}).
Expected behavior
otel.sdk.exporter.metric_data_point.inflight and otel.sdk.exporter.metric_data_point.exported should count the total number of metric data points (metricData.getData().getPoints().size()) across the exported Collection<MetricData>.
- 主要语言
- Java
- 星标
- 2.5k
- 派生
- 1k
- 平均合并
- 4 天 3 小时
- 30 天内合并 PR
- 49
环境准备
- 没有 Dockerfile 或 Docker Compose 文件
- 没有 Pull Request 模板
- 阅读贡献指南
从这里开始
- 先读完整个 Issue,再读项目的贡献指南。
- 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
- Fork 仓库,在一个分支上完成修改。
- 提交 Pull Request,并在描述里引用这个 Issue 编号。
open-telemetry/opentelemetry-java 的其他 Issue
-
Retry-After parser accepts invalid delay-seconds values可能已有人在做 @Dhruvraj-Rana 今天认领。 未关闭Bug
难度 2/5 1-3 小时 新手友好度 82/100
open-telemetry/opentelemetry-java#9018 ·
维护者通常 2 天内回复
-
PrometheusComponentProvider promotes all resource attributes when resource_constant_labels is empty ({})可能已有人在做 @rooks-ns 于 1 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 72/100
open-telemetry/opentelemetry-java#9014 ·
维护者通常 2 天内回复
-
Fix `otel.sdk.log.created` counting semantics可能已有人在做 @anuraaga 于 94 天前认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
open-telemetry/opentelemetry-java#8688 ·
维护者通常 2 天内回复
-
Add experimental view_matching_mode (composable metric views) support可能已有人在做 @rooks-ns 今天认领。 未关闭
难度 5/5 一周以上 新手友好度 35/100
open-telemetry/opentelemetry-java#9013 ·
维护者通常 2 天内回复
-
Span/log processors and PeriodicMetricReader use static ComponentId, causing all instances to share otel.component.name "<type>/0"可能已有人在做 @goutamadwant 今天认领。 未关闭
难度 3/5 1-2 天 新手友好度 68/100
open-telemetry/opentelemetry-java#9012 ·
维护者通常 2 天内回复
查看 open-telemetry/opentelemetry-java 的全部 Issue
相似的 Issue
-
Document and enforce pull request review guidelines可能已有人在做 @dashorst 今天认领。 未关闭
难度 2/5 1-3 小时 新手友好度 76/100
维护者通常 1 天内回复
-
`Time.at(t, in: nil)` returns UTC instead of the local time (or the time zone of `t`), unlike CRuby未关闭
难度 2/5 1-3 小时 新手友好度 78/100
维护者通常 1 天内回复
-
hermes-queue
难度 1/5 1 小时以内 新手友好度 72/100
chrisalunlloyd2-sudo/mindpalace#349 ·
维护者通常 1 天内回复
-
难度 2/5 1-3 小时 新手友好度 72/100
dropwizard/dropwizard#11410 ·
维护者通常 1 天内回复
-
bug priority: medium Review effort [1-5]: 2 status: needs-triage type: bug
难度 2/5 1-3 小时 新手友好度 78/100
carlos-emr/carlos#5818 ·
维护者通常 1 天内回复