tail_sampling: decision_wait: 10s num_traces: 100 expected_new_traces_per_sec: 10 decision_cache: sampled_cache_size: 1000 non_sampled_cache_size: 10000 policies: [ { name: test-policy-1, type: always_sample }, { name: test-policy-2, type: latency, latency: {threshold_ms: 5000} }, { name: test-policy-3, type: numeric_attribute, numeric_attribute: {key: key1, min_value: 50, max_value: 100} }, { name: test-policy-4, type: probabilistic, probabilistic: {hash_salt: "custom-salt", sampling_percentage: 0.1} }, { name: test-policy-5, type: status_code, status_code: {status_codes: [ERROR, UNSET]} }, { name: test-policy-6, type: string_attribute, string_attribute: {key: key2, values: [value1, value2]} }, { name: test-policy-7, type: rate_limiting, rate_limiting: {spans_per_second: 35, burst_capacity: 70} }, { name: test-policy-8, type: bytes_limiting, bytes_limiting: {bytes_per_second: 1024000, burst_capacity: 2048000} }, { name: test-policy-9, type: span_count, span_count: {min_spans: 2} }, { name: test-policy-10, type: trace_state, trace_state: { key: key3, values: [ value1, value2 ] } }, { name: test-policy-11, type: boolean_attribute, boolean_attribute: { key: key4, value: true } }, { name: test-policy-12, type: ottl_condition, ottl_condition: { error_mode: ignore, span: [ "attributes[\"test_attr_key_1\"] == \"test_attr_val_1\"", "attributes[\"test_attr_key_2\"] != \"test_attr_val_1\"", ], spanevent: [ "name != \"test_span_event_name\"", "attributes[\"test_event_attr_key_2\"] != \"test_event_attr_val_1\"", ] } }, { name: and-policy-1, type: and, and: { and_sub_policy: [ { name: test-and-policy-1, type: numeric_attribute, numeric_attribute: { key: key1, min_value: 50, max_value: 100 } }, { name: test-and-policy-2, type: string_attribute, string_attribute: { key: key2, values: [ value1, value2 ] } }, { name: test-and-policy-3, type: not, not: { not_sub_policy: { name: test-and-policy-3-not-sub-policy, type: latency, latency: { threshold_ms: 1000 } } } }, ] } }, { name: not-policy-1, type: not, not: { not_sub_policy: { name: test-not-policy-1, type: latency, latency: { threshold_ms: 1000 } } } }, { name: composite-policy-1, type: composite, composite: { max_total_spans_per_second: 1000, policy_order: [ test-composite-policy-1, test-composite-policy-2, test-composite-policy-3 ], composite_sub_policy: [ { name: test-composite-policy-1, type: numeric_attribute, numeric_attribute: { key: key1, min_value: 50, max_value: 100 } }, { name: test-composite-policy-2, type: string_attribute, string_attribute: { key: key2, values: [ value1, value2 ] } }, { name: test-composite-policy-3, type: always_sample } ], rate_allocation: [ { policy: test-composite-policy-1, percent: 50 }, { policy: test-composite-policy-2, percent: 25 } ] } }, ]