Add subset telemetry attrs and rows metric#4209
Conversation
❌ 2 Tests Failed:
View the top 2 failed test(s) by shortest run time
To view more test analytics, go to the Test Analytics Dashboard |
830528c to
a5b759d
Compare
64KB is a lot, and it's a per-value truncation limit? What's the use case for such strings in telemetry? Normally the long strings we observe in observability data are log lines and those are generally on the order of 100 bytes. |
The use case for POST over GET was because the URL params were getting too big, body params in a POST doesn't have that limit. So we should expect large values, including large subset where clauses (one of the main things I'm trying to expose in this PR). Honeycomb has a 64KB limit for string values so I thought I'd limit it to that, but perhaps we should consider a much lower value. |
|
@robacourt the first item in the list of Limits on that page reads
We're probably nowhere near the worst case but 2K string fields 64KB each would be 125MiB. I'd say we need to include a large enough prefix that will allow identifying the particular where expression or whatever else it is encoded in that long string. For that, 100 or a few hundred bytes should be sufficient. It feels wrong to try to fit the whole body in a telemetry event if its total size is tens of KB. We just wouldn't use the whole payload anyway, we'd be looking for patterns. |
7817481 to
1708fc5
Compare
1708fc5 to
0b4af91
Compare
|
This PR has been released! 🚀 The following packages include changes from this PR:
Thanks for contributing to Electric! |
Summary
electric.subqueries.subset_result.rowsfromElectricTelemetry.StackTelemetryTesting
mix test test/electric/plug/utils_test.exs test/electric/plug/subset_telemetry_test.exsmix test test/electric/telemetry/stack_telemetry_test.exs