|
3 | 3 | # Honeycomb Refinery Rules Documentation |
4 | 4 |
|
5 | 5 | This is the documentation for the rules configuration for Honeycomb's Refinery. |
6 | | -It was automatically generated on 2025-05-14 at 16:44:26 UTC. |
| 6 | +It was automatically generated on 2025-06-17 at 14:29:18 UTC. |
7 | 7 |
|
8 | 8 | ## The Rules file |
9 | 9 |
|
@@ -119,6 +119,9 @@ Including an error field, or something like `HTTP status code`, is an excellent |
119 | 119 | Using fields with very high cardinality, like `k8s.pod.id`, is a bad choice. |
120 | 120 | If the combination of fields essentially makes each trace unique, then the Dynamic Sampler will sample everything. |
121 | 121 | If the combination of fields is not unique enough, then you will not be guaranteed samples of the most interesting traces. |
| 122 | +If a trace does not contain any of the fields specified in the FieldList, it will still be evaluated by the sampler. |
| 123 | +However, since it lacks all key fields, it will be grouped under a single empty (blank) key. |
| 124 | +This means that all such traces will share the same sample rate, determined by that one shared key. |
122 | 125 | As an example, consider as a good set of fields: the combination of `HTTP endpoint` (high-frequency and boring), `HTTP method`, and `status code` (normally boring but can become interesting when indicating an error) since it will allowing proper sampling of all endpoints under normal traffic and call out when there is failing traffic to any endpoint. |
123 | 126 | As of Refinery 2.8.0, the `root.` prefix can be used to limit the field value to that of the root span. |
124 | 127 | For example, `root.http.response.status_code` will only consider the `http.response.status_code` field from the root span rather than a combination of all the spans in the trace. |
@@ -227,6 +230,9 @@ Including an error field, or something like `HTTP status code`, is an excellent |
227 | 230 | Using fields with very high cardinality, like `k8s.pod.id`, is a bad choice. |
228 | 231 | If the combination of fields essentially makes each trace unique, then the Dynamic Sampler will sample everything. |
229 | 232 | If the combination of fields is not unique enough, then you will not be guaranteed samples of the most interesting traces. |
| 233 | +If a trace does not contain any of the fields specified in the FieldList, it will still be evaluated by the sampler. |
| 234 | +However, since it lacks all key fields, it will be grouped under a single empty (blank) key. |
| 235 | +This means that all such traces will share the same sample rate, determined by that one shared key. |
230 | 236 | As an example, consider as a good set of fields: the combination of `HTTP endpoint` (high-frequency and boring), `HTTP method`, and `status code` (normally boring but can become interesting when indicating an error) since it will allowing proper sampling of all endpoints under normal traffic and call out when there is failing traffic to any endpoint. |
231 | 237 | As of Refinery 2.8.0, the `root.` prefix can be used to limit the field value to that of the root span. |
232 | 238 | For example, `root.http.response.status_code` will only consider the `http.response.status_code` field from the root span rather than a combination of all the spans in the trace. |
@@ -347,6 +353,9 @@ Including an error field, or something like `HTTP status code`, is an excellent |
347 | 353 | Using fields with very high cardinality, like `k8s.pod.id`, is a bad choice. |
348 | 354 | If the combination of fields essentially makes each trace unique, then the Dynamic Sampler will sample everything. |
349 | 355 | If the combination of fields is not unique enough, then you will not be guaranteed samples of the most interesting traces. |
| 356 | +If a trace does not contain any of the fields specified in the FieldList, it will still be evaluated by the sampler. |
| 357 | +However, since it lacks all key fields, it will be grouped under a single empty (blank) key. |
| 358 | +This means that all such traces will share the same sample rate, determined by that one shared key. |
350 | 359 | As an example, consider as a good set of fields: the combination of `HTTP endpoint` (high-frequency and boring), `HTTP method`, and `status code` (normally boring but can become interesting when indicating an error) since it will allowing proper sampling of all endpoints under normal traffic and call out when there is failing traffic to any endpoint. |
351 | 360 | As of Refinery 2.8.0, the `root.` prefix can be used to limit the field value to that of the root span. |
352 | 361 | For example, `root.http.response.status_code` will only consider the `http.response.status_code` field from the root span rather than a combination of all the spans in the trace. |
@@ -438,6 +447,9 @@ Including an error field, or something like `HTTP status code`, is an excellent |
438 | 447 | Using fields with very high cardinality, like `k8s.pod.id`, is a bad choice. |
439 | 448 | If the combination of fields essentially makes each trace unique, then the Dynamic Sampler will sample everything. |
440 | 449 | If the combination of fields is not unique enough, then you will not be guaranteed samples of the most interesting traces. |
| 450 | +If a trace does not contain any of the fields specified in the FieldList, it will still be evaluated by the sampler. |
| 451 | +However, since it lacks all key fields, it will be grouped under a single empty (blank) key. |
| 452 | +This means that all such traces will share the same sample rate, determined by that one shared key. |
441 | 453 | As an example, consider as a good set of fields: the combination of `HTTP endpoint` (high-frequency and boring), `HTTP method`, and `status code` (normally boring but can become interesting when indicating an error) since it will allowing proper sampling of all endpoints under normal traffic and call out when there is failing traffic to any endpoint. |
442 | 454 | As of Refinery 2.8.0, the `root.` prefix can be used to limit the field value to that of the root span. |
443 | 455 | For example, `root.http.response.status_code` will only consider the `http.response.status_code` field from the root span rather than a combination of all the spans in the trace. |
@@ -668,6 +680,9 @@ Including an error field, or something like `HTTP status code`, is an excellent |
668 | 680 | Using fields with very high cardinality, like `k8s.pod.id`, is a bad choice. |
669 | 681 | If the combination of fields essentially makes each trace unique, then the Dynamic Sampler will sample everything. |
670 | 682 | If the combination of fields is not unique enough, then you will not be guaranteed samples of the most interesting traces. |
| 683 | +If a trace does not contain any of the fields specified in the FieldList, it will still be evaluated by the sampler. |
| 684 | +However, since it lacks all key fields, it will be grouped under a single empty (blank) key. |
| 685 | +This means that all such traces will share the same sample rate, determined by that one shared key. |
671 | 686 | As an example, consider as a good set of fields: the combination of `HTTP endpoint` (high-frequency and boring), `HTTP method`, and `status code` (normally boring but can become interesting when indicating an error) since it will allowing proper sampling of all endpoints under normal traffic and call out when there is failing traffic to any endpoint. |
672 | 687 | As of Refinery 2.8.0, the `root.` prefix can be used to limit the field value to that of the root span. |
673 | 688 | For example, `root.http.response.status_code` will only consider the `http.response.status_code` field from the root span rather than a combination of all the spans in the trace. |
|
0 commit comments