Support multi valued metrics#88818
Conversation
|
Pinging @elastic/es-analytics-geo (Team:Analytics) |
| ); | ||
| private void collectMetric(final String field, final Object[] values) { | ||
| for (var value : values) { | ||
| if (value instanceof Number number) { |
There was a problem hiding this comment.
I wonder if you could add one instanceof check outside the for loop would work.
Something like this: if (values instanceof Number[])
On the other hand we should totally remove the instanceof checks.
There was a problem hiding this comment.
Yeah, I think since we want to get the instanceof checks out entirely it's fine to do it either way.
|
I need an approval for this. I didn't manage to use |
| ); | ||
| private void collectMetric(final String field, final Object[] values) { | ||
| for (var value : values) { | ||
| if (value instanceof Number number) { |
There was a problem hiding this comment.
Yeah, I think since we want to get the instanceof checks out entirely it's fine to do it either way.
|
I think I'm ok to approve this while @csoulios is out for a bit. We have a bit of time before it fully lands in production and we expect a fair bit of refactoring over here eventually. |
💚 Backport successful
|
* upstream/main: (265 commits) Disable openid connect tests due to missing fixture (elastic#89478) Add periodic job for single processor node testing Updates to changelog processing after docs redesign (elastic#89463) Better support for multi cluster for run task (elastic#89442) Mute failing tests (elastic#89465) [ML] Performance improvements related to ECS Grok pattern usage (elastic#89424) Add source fallback support for date and date_nanos mapped types (elastic#89440) Reuse Info in lifecycle step (elastic#89419) feature: support metrics for multi value fields (elastic#88818) Upgrade OpenTelemetry API and remove workaround (elastic#89438) Remove LegacyClusterTaskResultActionListener (elastic#89459) Add YAML spec docs about matching errors (elastic#89370) Remove redundant cluster upgrade tests for auth tokens (elastic#89417) Return 400 error for GetUserPrivileges call with API keys (elastic#89333) User Profile - Detailed errors in hasPrivileges response (elastic#89224) Rollover min_* conditions docs and highlight (elastic#89434) REST tests for percentiles_bucket agg (elastic#88029) REST tests for cumulative pipeline aggs (elastic#88966) Clean-up file watcher keys. (elastic#89429) fix a typo in Security.java (elastic#89248) ... # Conflicts: # server/src/main/java/org/elasticsearch/index/mapper/NumberFieldMapper.java
With this PR we handle collection of multi valued metrics
The idea is just to iterate on each value and collect all of
them as if each value belongs to a different document.