Skip to content

Commit ead89b8

Browse files
committed
Remove regex support from sampling rules
1 parent b25dc1e commit ead89b8

12 files changed

+11
-64
lines changed

ext/configuration.c

Lines changed: 0 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -76,19 +76,6 @@ static bool dd_parse_dbm_mode(zai_str value, zval *decoded_value, bool persisten
7676
return true;
7777
}
7878

79-
static bool dd_parse_sampling_rules_format(zai_str value, zval *decoded_value, bool persistent) {
80-
UNUSED(persistent);
81-
if (zai_str_eq_ci_cstr(value, "regex")) {
82-
ZVAL_LONG(decoded_value, DD_TRACE_SAMPLING_RULES_FORMAT_REGEX);
83-
} else if (zai_str_eq_ci_cstr(value, "glob")) {
84-
ZVAL_LONG(decoded_value, DD_TRACE_SAMPLING_RULES_FORMAT_GLOB);
85-
} else {
86-
return false;
87-
}
88-
89-
return true;
90-
}
91-
9279
#define CALIAS_EXPAND(name) {.ptr = name, .len = sizeof(name) - 1},
9380

9481
#ifndef _WIN32

ext/configuration.h

Lines changed: 0 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -23,12 +23,6 @@ enum ddtrace_dbm_propagation_mode {
2323
DD_TRACE_DBM_PROPAGATION_FULL,
2424
};
2525

26-
// To remove in 1.0
27-
enum ddtrace_sampling_rules_format {
28-
DD_TRACE_SAMPLING_RULES_FORMAT_REGEX,
29-
DD_TRACE_SAMPLING_RULES_FORMAT_GLOB
30-
};
31-
3226
/* From the curl docs on CONNECT_TIMEOUT_MS:
3327
* If libcurl is built to use the standard system name resolver, that
3428
* portion of the transfer will still use full-second resolution for
@@ -128,7 +122,6 @@ enum ddtrace_sampling_rules_format {
128122
CONFIG(INT, DD_TRACE_RATE_LIMIT, "0", .ini_change = zai_config_system_ini_change) \
129123
CALIAS(DOUBLE, DD_TRACE_SAMPLE_RATE, "-1", CALIASES("DD_SAMPLING_RATE")) \
130124
CONFIG(JSON, DD_TRACE_SAMPLING_RULES, "[]") \
131-
CONFIG(CUSTOM(INT), DD_TRACE_SAMPLING_RULES_FORMAT, "regex", .parser = dd_parse_sampling_rules_format) \
132125
CONFIG(JSON, DD_SPAN_SAMPLING_RULES, "[]") \
133126
CONFIG(STRING, DD_SPAN_SAMPLING_RULES_FILE, "", .ini_change = ddtrace_alter_sampling_rules_file_config) \
134127
CONFIG(SET_LOWERCASE, DD_TRACE_HEADER_TAGS, "") \

ext/ddshared.c

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@ bool dd_glob_rule_is_wildcards_only(zval *pattern) {
2828
return *p == 0;
2929
}
3030

31-
bool dd_rule_matches(zval *pattern, zval *prop, int rulesFormat) {
31+
bool dd_rule_matches(zval *pattern, zval *prop) {
3232
if (Z_TYPE_P(pattern) != IS_STRING) {
3333
return false;
3434
}
@@ -62,12 +62,7 @@ bool dd_rule_matches(zval *pattern, zval *prop, int rulesFormat) {
6262
}
6363
}
6464

65-
bool result;
66-
if (rulesFormat == DD_TRACE_SAMPLING_RULES_FORMAT_GLOB) {
67-
result = dd_glob_rule_matches(pattern, str);
68-
} else {
69-
result = zai_match_regex(Z_STR_P(pattern), str);
70-
}
65+
bool result = dd_glob_rule_matches(pattern, str);;
7166
zend_string_release(str);
7267
return result;
7368
}

ext/ddshared.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
extern zend_string *ddtrace_php_version;
77

88
void ddshared_minit(void);
9-
bool dd_rule_matches(zval *pattern, zval *prop, int rulesFormat);
9+
bool dd_rule_matches(zval *pattern, zval *prop);
1010
bool dd_glob_rule_matches(zval *pattern, zend_string* value);
1111

1212
#endif // DD_TRACE_SHARED_H

ext/priority_sampling/priority_sampling.c

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -64,18 +64,18 @@ static bool dd_check_sampling_rule(zend_array *rule, ddtrace_span_data *span) {
6464
if (!mapped_service) {
6565
mapped_service = service;
6666
}
67-
if (!dd_rule_matches(rule_pattern, mapped_service, get_DD_TRACE_SAMPLING_RULES_FORMAT())) {
67+
if (!dd_rule_matches(rule_pattern, mapped_service)) {
6868
return false;
6969
}
7070
}
7171
}
7272
if ((rule_pattern = zend_hash_str_find(rule, ZEND_STRL("name")))) {
73-
if (!dd_rule_matches(rule_pattern, &span->property_name, get_DD_TRACE_SAMPLING_RULES_FORMAT())) {
73+
if (!dd_rule_matches(rule_pattern, &span->property_name)) {
7474
return false;
7575
}
7676
}
7777
if ((rule_pattern = zend_hash_str_find(rule, ZEND_STRL("resource")))) {
78-
if (!dd_rule_matches(rule_pattern, &span->property_resource, get_DD_TRACE_SAMPLING_RULES_FORMAT())) {
78+
if (!dd_rule_matches(rule_pattern, &span->property_resource)) {
7979
return false;
8080
}
8181
}
@@ -90,7 +90,7 @@ static bool dd_check_sampling_rule(zend_array *rule, ddtrace_span_data *span) {
9090
if (!(value = zend_hash_find(meta, tag_name)) && !(value = zend_hash_find(metrics, tag_name))) {
9191
return false;
9292
}
93-
if (!dd_rule_matches(rule_pattern, value, get_DD_TRACE_SAMPLING_RULES_FORMAT())) {
93+
if (!dd_rule_matches(rule_pattern, value)) {
9494
return false;
9595
}
9696
}

tests/ext/priority_sampling/005-rule-name.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--TEST--
22
priority_sampling rule with name match
33
--ENV--
4-
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "name": "bar"},{"sample_rate": 0.3, "name": "foo"}]
4+
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "name": "bar"},{"sample_rate": 0.3, "name": "foo*"}]
55
DD_TRACE_GENERATE_ROOT_SPAN=1
66
--FILE--
77
<?php

tests/ext/priority_sampling/007-rule-service.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--TEST--
22
priority_sampling rule with service match
33
--ENV--
4-
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "service": "bar"},{"sample_rate": 0.3, "service": "foo"}]
4+
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "service": "bar"},{"sample_rate": 0.3, "service": "foo*?"}]
55
DD_TRACE_GENERATE_ROOT_SPAN=1
66
--SKIPIF--
77
<?php

tests/ext/priority_sampling/009-rule-name-service.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--TEST--
22
priority_sampling rule with name and service match
33
--ENV--
4-
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.3, "name": "fo.*ame", "service": "bar"}, {"sample_rate": 0.7}]
4+
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.3, "name": "fo*ame", "service": "barservic?"}, {"sample_rate": 0.7}]
55
DD_TRACE_GENERATE_ROOT_SPAN=1
66
--FILE--
77
<?php

tests/ext/priority_sampling/014-rule-resource.phpt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
--TEST--
22
priority_sampling rule with resource match
33
--ENV--
4-
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "resource": "bar"},{"sample_rate": 0.3, "resource": "foo"}]
4+
DD_TRACE_SAMPLING_RULES=[{"sample_rate": 0.7, "resource": "*bar*"},{"sample_rate": 0.3, "resource": "*foo*"}]
55
DD_TRACE_GENERATE_ROOT_SPAN=1
66
--SKIPIF--
77
<?php

tests/ext/priority_sampling/021-rule-name-as-glob-with-question-mark.phpt

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22
priority_sampling rule with name match, using glob
33
--ENV--
44
DD_TRACE_GENERATE_ROOT_SPAN=1
5-
DD_TRACE_SAMPLING_RULES_FORMAT=glob
65
--FILE--
76
<?php
87

0 commit comments

Comments
 (0)