Skip to content

Conversation

martijnvg
Copy link
Member

Running metricsgenreceiver without this change:

"_seq_no": {
    "total": "369.9mb",
    "total_in_bytes": 387962443,
    "inverted_index": {
        "total": "0b",
        "total_in_bytes": 0
    },
    "stored_fields": "0b",
    "stored_fields_in_bytes": 0,
    "doc_values": "369.9mb",
    "doc_values_in_bytes": 387962443,
    "points": "0b",
    "points_in_bytes": 0,
    "norms": "0b",
    "norms_in_bytes": 0,
    "term_vectors": "0b",
    "term_vectors_in_bytes": 0,
    "knn_vectors": "0b",
    "knn_vectors_in_bytes": 0
}

and running metricsgenreceiver with this change:

"_seq_no": {
    "total": "212.3mb",
    "total_in_bytes": 222616293,
    "inverted_index": {
        "total": "0b",
        "total_in_bytes": 0
    },
    "stored_fields": "0b",
    "stored_fields_in_bytes": 0,
    "doc_values": "212.3mb",
    "doc_values_in_bytes": 222616293,
    "points": "0b",
    "points_in_bytes": 0,
    "norms": "0b",
    "norms_in_bytes": 0,
    "term_vectors": "0b",
    "term_vectors_in_bytes": 0,
    "knn_vectors": "0b",
    "knn_vectors_in_bytes": 0
}

metricsgenreceiver config:

receivers:
  metricsgen:
    start_now_minus: 72h
    interval: 5s
    interval_jitter_std_dev: 1ms
    real_time: false
    exit_after_end: true
    seed: 123
    scenarios:
      - path: builtin/hostmetrics
        scale: 100

I suspect that delta of delta and offset encoding pays of here. In both cases time spent on indexing was comparable.
I do wonder about other work loads.

Running metricsgenreceiver without this change:

```
"_seq_no": {
    "total": "369.9mb",
    "total_in_bytes": 387962443,
    "inverted_index": {
        "total": "0b",
        "total_in_bytes": 0
    },
    "stored_fields": "0b",
    "stored_fields_in_bytes": 0,
    "doc_values": "369.9mb",
    "doc_values_in_bytes": 387962443,
    "points": "0b",
    "points_in_bytes": 0,
    "norms": "0b",
    "norms_in_bytes": 0,
    "term_vectors": "0b",
    "term_vectors_in_bytes": 0,
    "knn_vectors": "0b",
    "knn_vectors_in_bytes": 0
}
```

and running metricsgenreceiver with this change:

```
"_seq_no": {
    "total": "212.3mb",
    "total_in_bytes": 222616293,
    "inverted_index": {
        "total": "0b",
        "total_in_bytes": 0
    },
    "stored_fields": "0b",
    "stored_fields_in_bytes": 0,
    "doc_values": "212.3mb",
    "doc_values_in_bytes": 222616293,
    "points": "0b",
    "points_in_bytes": 0,
    "norms": "0b",
    "norms_in_bytes": 0,
    "term_vectors": "0b",
    "term_vectors_in_bytes": 0,
    "knn_vectors": "0b",
    "knn_vectors_in_bytes": 0
}
```

metricsgenreceiver config:

```
receivers:
  metricsgen:
    start_now_minus: 72h
    interval: 5s
    interval_jitter_std_dev: 1ms
    real_time: false
    exit_after_end: true
    seed: 123
    scenarios:
      - path: builtin/hostmetrics
        scale: 100
```
@kkrik-es
Copy link
Contributor

This works for logsdb too?

@martijnvg
Copy link
Member Author

This works for logsdb too?

Yes, it does. But I've not tested this with logsdb. I think we can maybe consider gating this behind a feature flag and see how other benchmarks respond. I'm a little worried that it might not be beneficial to all work loads.

@kkrik-es
Copy link
Contributor

Let's get this in on Monday, after the serverless release. That way, we can observe the impact to logs. I think it's gonna be a win there too, delta-of-deltas should kick in and help.

@martijnvg
Copy link
Member Author

Let's get this in on Monday, after the serverless release.

I will put it behind a feature flag, so we don't interfere with the next serverless release.

Copy link
Member

@dnhatn dnhatn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The number looks great.

@martijnvg martijnvg marked this pull request as ready for review August 29, 2025 14:26
@elasticsearchmachine
Copy link
Collaborator

Pinging @elastic/es-storage-engine (Team:StorageEngine)

@martijnvg martijnvg merged commit e785661 into elastic:main Aug 29, 2025
33 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants