提交 627c7a8f 编写于 作者: w60514603's avatar w60514603

不再支持关闭Mysqli扩展的链路信息收集,静默收集

上级 53f18230
PHP_ARG_ENABLE(skywalking, whether to enable skywalking support,
[ --enable-skywalking Enable skywalking support])
PHP_ARG_ENABLE(mysqli, whether to enable mysqli support,
[ --enable-mysqli Enable mysqli support], yes, yes)
if test "$PHP_SKYWALKING" != "no"; then
PHP_NEW_EXTENSION(skywalking, \
skywalking.c \
decode.c \
encode.c \
, $ext_shared,, -DZEND_ENABLE_STATIC_TSRMLS_CACHE=1)
fi
if test "$PHP_MYSQLI" != "no"; then
AC_DEFINE(SKYWALKING_ENABLED_MYSQLI, 1, [Enable skywalking support])
fi
fi
\ No newline at end of file
......@@ -249,10 +249,7 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return
zf->common.scope->name) : NULL;
const char *function_name = zf->common.function_name == NULL ? NULL : ZSTR_VAL(zf->common.function_name);
#ifdef SKYWALKING_ENABLED_MYSQLI
int is_mysqli_function = 0;
#endif
int is_procedural_mysqli = 0; // "Procedural style" or "Object oriented style" ?
char *operationName = NULL;
char *component = NULL;
if (class_name != NULL) {
......@@ -277,9 +274,7 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return
strcat(operationName, "->");
strcat(operationName, function_name);
}
}
#ifdef SKYWALKING_ENABLED_MYSQLI
if (strcmp(class_name, "mysqli") == 0) {
} else if (strcmp(class_name, "mysqli") == 0) {
if (strcmp(function_name, "query") == 0) {
component = (char *) emalloc(strlen("mysqli") + 1);
strcpy(component, "mysqli");
......@@ -289,9 +284,7 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return
strcat(operationName, function_name);
}
}
#endif
} else if (function_name != NULL) {
#ifdef SKYWALKING_ENABLED_MYSQLI
if (strcmp(function_name, "mysqli_query") == 0) {
class_name = "mysqli";
function_name = "query";
......@@ -302,9 +295,8 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return
strcat(operationName, "->");
strcat(operationName, function_name);
is_mysqli_function = 1;
is_procedural_mysqli = 1;
}
#endif
}
if (operationName != NULL) {
......@@ -355,23 +347,21 @@ ZEND_API void sky_execute_internal(zend_execute_data *execute_data, zval *return
}
}
} else if (function_name != NULL) {
#ifdef SKYWALKING_ENABLED_MYSQLI
if (strcmp(class_name, "mysqli") == 0 && strcmp(function_name, "query") == 0) {
add_assoc_string(&tags, "db.type", "mysqli");
// params
uint32_t arg_count = ZEND_CALL_NUM_ARGS(execute_data);
if (arg_count) {
zval *p = is_mysqli_function ? ZEND_CALL_ARG(execute_data, 2) : ZEND_CALL_ARG(execute_data, 1);
//db.statement
switch (Z_TYPE_P(p)) {
case IS_STRING:
add_assoc_string(&tags, "db.statement", Z_STRVAL_P(p));
break;
}
if (strcmp(class_name, "mysqli") == 0 && strcmp(function_name, "query") == 0) {
add_assoc_string(&tags, "db.type", "mysqli");
// params
uint32_t arg_count = ZEND_CALL_NUM_ARGS(execute_data);
if (arg_count) {
zval *p = is_procedural_mysqli ? ZEND_CALL_ARG(execute_data, 2) : ZEND_CALL_ARG(execute_data, 1);
//db.statement
switch (Z_TYPE_P(p)) {
case IS_STRING:
add_assoc_string(&tags, "db.statement", Z_STRVAL_P(p));
break;
}
}
#endif
}
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册