feat(eap-items): Sample downsample tiers by trace and make tiers subsets#7980
Open
phacops wants to merge 1 commit into
Open
feat(eap-items): Sample downsample tiers by trace and make tiers subsets#7980phacops wants to merge 1 commit into
phacops wants to merge 1 commit into
Conversation
The downsample materialized views previously sampled per `item_id` and perturbed the hash per tier (`cityHash64(item_id + sampling_weight)`), so the 1/8, 1/64, and 1/512 tiers were independent samples and items in the same trace could land in different tiers. Switch the MVs to `cityHash64(reinterpretAsUInt128(trace_id)) % w = 0`. Hashing `trace_id` (without perturbation) keeps every item in a trace together, and because 8 | 64 | 512 the tiers nest: tier 512 ⊆ tier 64 ⊆ tier 8. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> Agent transcript: https://claudescope.sentry.dev/share/J1l8N_MgYvD7E5OR27eSBvBE-k-Q7G1nqkfGulwerG8
|
This PR has a migration; here is the generated SQL for -- start migrations
-- forward migration events_analytics_platform : 0055_sample_downsample_tiers_by_trace
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_8_mv_5 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_8_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 8 AS sampling_weight, sampling_factor / 8 AS sampling_factor, client_sample_rate / 8 AS client_sample_rate, server_sample_rate / 8 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(reinterpretAsUInt128(trace_id)) % 8) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_8_mv_4 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_64_mv_5 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_64_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 64 AS sampling_weight, sampling_factor / 64 AS sampling_factor, client_sample_rate / 64 AS client_sample_rate, server_sample_rate / 64 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(reinterpretAsUInt128(trace_id)) % 64) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_64_mv_4 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_512_mv_5 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_512_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 512 AS sampling_weight, sampling_factor / 512 AS sampling_factor, client_sample_rate / 512 AS client_sample_rate, server_sample_rate / 512 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(reinterpretAsUInt128(trace_id)) % 512) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_512_mv_4 ON CLUSTER 'cluster_one_sh' SYNC;
-- end forward migration events_analytics_platform : 0055_sample_downsample_tiers_by_trace
-- backward migration events_analytics_platform : 0055_sample_downsample_tiers_by_trace
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_8_mv_4 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_8_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 8 AS sampling_weight, sampling_factor / 8 AS sampling_factor, client_sample_rate / 8 AS client_sample_rate, server_sample_rate / 8 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id + 8) % 8) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_8_mv_5 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_64_mv_4 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_64_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 64 AS sampling_weight, sampling_factor / 64 AS sampling_factor, client_sample_rate / 64 AS client_sample_rate, server_sample_rate / 64 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id + 64) % 64) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_64_mv_5 ON CLUSTER 'cluster_one_sh' SYNC;
Local op: CREATE MATERIALIZED VIEW IF NOT EXISTS eap_items_1_downsample_512_mv_4 ON CLUSTER 'cluster_one_sh' TO eap_items_1_downsample_512_local (organization_id UInt64, project_id UInt64, item_type UInt8, timestamp DateTime CODEC (DoubleDelta, ZSTD(1)), trace_id UUID, item_id UInt128, sampling_weight UInt64 CODEC (ZSTD(1)), sampling_factor Float64 CODEC (ZSTD(1)), retention_days UInt16 CODEC (T64, ZSTD(1)), attributes_bool Map(String, Bool), attributes_int Map(String, Int64), attributes_string_0 Map(String, String) CODEC (ZSTD(1)), attributes_string_1 Map(String, String) CODEC (ZSTD(1)), attributes_string_2 Map(String, String) CODEC (ZSTD(1)), attributes_string_3 Map(String, String) CODEC (ZSTD(1)), attributes_string_4 Map(String, String) CODEC (ZSTD(1)), attributes_string_5 Map(String, String) CODEC (ZSTD(1)), attributes_string_6 Map(String, String) CODEC (ZSTD(1)), attributes_string_7 Map(String, String) CODEC (ZSTD(1)), attributes_string_8 Map(String, String) CODEC (ZSTD(1)), attributes_string_9 Map(String, String) CODEC (ZSTD(1)), attributes_string_10 Map(String, String) CODEC (ZSTD(1)), attributes_string_11 Map(String, String) CODEC (ZSTD(1)), attributes_string_12 Map(String, String) CODEC (ZSTD(1)), attributes_string_13 Map(String, String) CODEC (ZSTD(1)), attributes_string_14 Map(String, String) CODEC (ZSTD(1)), attributes_string_15 Map(String, String) CODEC (ZSTD(1)), attributes_string_16 Map(String, String) CODEC (ZSTD(1)), attributes_string_17 Map(String, String) CODEC (ZSTD(1)), attributes_string_18 Map(String, String) CODEC (ZSTD(1)), attributes_string_19 Map(String, String) CODEC (ZSTD(1)), attributes_string_20 Map(String, String) CODEC (ZSTD(1)), attributes_string_21 Map(String, String) CODEC (ZSTD(1)), attributes_string_22 Map(String, String) CODEC (ZSTD(1)), attributes_string_23 Map(String, String) CODEC (ZSTD(1)), attributes_string_24 Map(String, String) CODEC (ZSTD(1)), attributes_string_25 Map(String, String) CODEC (ZSTD(1)), attributes_string_26 Map(String, String) CODEC (ZSTD(1)), attributes_string_27 Map(String, String) CODEC (ZSTD(1)), attributes_string_28 Map(String, String) CODEC (ZSTD(1)), attributes_string_29 Map(String, String) CODEC (ZSTD(1)), attributes_string_30 Map(String, String) CODEC (ZSTD(1)), attributes_string_31 Map(String, String) CODEC (ZSTD(1)), attributes_string_32 Map(String, String) CODEC (ZSTD(1)), attributes_string_33 Map(String, String) CODEC (ZSTD(1)), attributes_string_34 Map(String, String) CODEC (ZSTD(1)), attributes_string_35 Map(String, String) CODEC (ZSTD(1)), attributes_string_36 Map(String, String) CODEC (ZSTD(1)), attributes_string_37 Map(String, String) CODEC (ZSTD(1)), attributes_string_38 Map(String, String) CODEC (ZSTD(1)), attributes_string_39 Map(String, String) CODEC (ZSTD(1)), attributes_float_0 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_1 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_2 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_3 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_4 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_5 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_6 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_7 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_8 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_9 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_10 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_11 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_12 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_13 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_14 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_15 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_16 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_17 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_18 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_19 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_20 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_21 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_22 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_23 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_24 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_25 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_26 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_27 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_28 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_29 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_30 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_31 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_32 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_33 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_34 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_35 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_36 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_37 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_38 Map(String, Float64) CODEC (ZSTD(1)), attributes_float_39 Map(String, Float64) CODEC (ZSTD(1))) AS SELECT organization_id, project_id, item_type, timestamp, trace_id, item_id, attributes_bool, attributes_int, attributes_string_0, attributes_string_1, attributes_string_2, attributes_string_3, attributes_string_4, attributes_string_5, attributes_string_6, attributes_string_7, attributes_string_8, attributes_string_9, attributes_string_10, attributes_string_11, attributes_string_12, attributes_string_13, attributes_string_14, attributes_string_15, attributes_string_16, attributes_string_17, attributes_string_18, attributes_string_19, attributes_string_20, attributes_string_21, attributes_string_22, attributes_string_23, attributes_string_24, attributes_string_25, attributes_string_26, attributes_string_27, attributes_string_28, attributes_string_29, attributes_string_30, attributes_string_31, attributes_string_32, attributes_string_33, attributes_string_34, attributes_string_35, attributes_string_36, attributes_string_37, attributes_string_38, attributes_string_39, attributes_float_0, attributes_float_1, attributes_float_2, attributes_float_3, attributes_float_4, attributes_float_5, attributes_float_6, attributes_float_7, attributes_float_8, attributes_float_9, attributes_float_10, attributes_float_11, attributes_float_12, attributes_float_13, attributes_float_14, attributes_float_15, attributes_float_16, attributes_float_17, attributes_float_18, attributes_float_19, attributes_float_20, attributes_float_21, attributes_float_22, attributes_float_23, attributes_float_24, attributes_float_25, attributes_float_26, attributes_float_27, attributes_float_28, attributes_float_29, attributes_float_30, attributes_float_31, attributes_float_32, attributes_float_33, attributes_float_34, attributes_float_35, attributes_float_36, attributes_float_37, attributes_float_38, attributes_float_39, downsampled_retention_days AS retention_days, sampling_weight * 512 AS sampling_weight, sampling_factor / 512 AS sampling_factor, client_sample_rate / 512 AS client_sample_rate, server_sample_rate / 512 AS server_sample_rate FROM eap_items_1_local WHERE (cityHash64(item_id + 512) % 512) = 0;
Local op: DROP TABLE IF EXISTS eap_items_1_downsample_512_mv_5 ON CLUSTER 'cluster_one_sh' SYNC;
-- end backward migration events_analytics_platform : 0055_sample_downsample_tiers_by_trace |
|
@phacops : Thanks for making this change. How are we ensuring that the extrapolation math holds as well? Is that going to be a separate PR? |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
item_idsamplingto per-
trace_idsampling, so every item belonging to a trace landsin the same set of tiers.
+ sampling_weight) so thetiers nest as strict subsets: tier 512 ⊆ tier 64 ⊆ tier 8. The
sampling weights 8 / 64 / 512 are chosen so each divides the next,
which makes the modular-arithmetic subset property hold.
The new WHERE clause is:
cityHash64(reinterpretAsUInt128(trace_id)) % {sampling_weight} = 0The previous form
(
cityHash64(item_id + {sampling_weight}) % {sampling_weight} = 0)deliberately drew an independent sample per tier — the original note in
0034 was about avoiding
rand64()due to a ClickHouse bug, not aboutneeding per-tier perturbation. Deterministic hashing on
trace_idkeeps that benefit while gaining trace-coherence and subset nesting.
Migration 0055 creates the new MVs (
mv_5) and drops the old ones(
mv_4). Backwards op restoresmv_4.Test plan
pytest tests/migrations/test_eap_subset_sampling.py— new unittests assert the SQL hashes
trace_idand that 8 | 64 | 512.pytest tests/migrations/test_groups.py— migration discoverystill passes.
mv_5is created andmv_4dropped.trace_idland inthe same tiers and tier 512 ⊆ tier 64 ⊆ tier 8.
🤖 Generated with Claude Code
Agent transcript: https://claudescope.sentry.dev/share/_SFJAD4lYVt3kW7SjAK5rdKYya-tgTnGRn2GZwv1jx8