Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(agent): Add supportability metrics for packages that provide major version #868

Merged
merged 21 commits into from
Apr 19, 2024
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
879b332
feat(agent): create new function that sends up supportability metrics…
hahuja2 Mar 25, 2024
2a83042
feat(agent): add supportability metrics for packages that provide ver…
hahuja2 Mar 25, 2024
08dbf01
feat(agent): add if statement to check if major version is more than …
hahuja2 Mar 26, 2024
cfa5e7f
feat(agent): set major version to first digit only in else statement
hahuja2 Mar 27, 2024
9ff6234
feat(agent): improve how the major version is found
hahuja2 Mar 27, 2024
3d36800
chore(agent): add check to ensure major version is not null
hahuja2 Mar 27, 2024
2b4836a
chore(agent): set predis to specific version instead of latest
hahuja2 Mar 27, 2024
67eaae4
chore(agent): add new supportability metric to guzzle and predis tests
hahuja2 Mar 27, 2024
e32440d
chore(agent): add if statement to not run predis tests on PHP 7.0/7.1
hahuja2 Mar 28, 2024
5248b97
chore(agent): add supportability metrics for guzzle and monolog by ma…
hahuja2 Mar 29, 2024
1fb5879
chore(agent): add macro to remove duplication
hahuja2 Mar 29, 2024
e94e897
chore(agent): fix error
hahuja2 Mar 29, 2024
4b61257
chore(agent): simplify how we look for major version
hahuja2 Apr 8, 2024
c8f52a4
chore(agent): add unit tests for package detection supportability metric
hahuja2 Apr 9, 2024
4231922
chore(agent): increase size to account for null terminator
hahuja2 Apr 9, 2024
5eedee9
chore(agent): change where version is defined
hahuja2 Apr 9, 2024
15c0422
chore(agent): define version at the top
hahuja2 Apr 9, 2024
97c639e
chore(agent): add additional tests
hahuja2 Apr 10, 2024
647d424
chore(agent): add supportability metric even when VM is disabled
hahuja2 Apr 10, 2024
0fc0bde
chore(agent): update description
hahuja2 Apr 10, 2024
55c1e1e
chore(agent): define major version length
hahuja2 Apr 15, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 6 additions & 2 deletions agent/fw_drupal8.c
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,8 @@
#include "util_memory.h"
#include "util_strings.h"

#define PHP_PACKAGE_NAME "drupal/core"

/*
* Purpose : Convenience function to handle adding a callback to a method,
* given a class entry and a method name. This will check the
Expand Down Expand Up @@ -684,7 +686,9 @@ void nr_drupal_version() {
// Add php package to transaction
if (nr_php_is_zval_valid_string(zval_version)) {
char* version = Z_STRVAL_P(zval_version);
nr_txn_add_php_package(NRPRG(txn), "drupal/core", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
nr_fw_support_add_package_supportability_metric(NRPRG(txn), PHP_PACKAGE_NAME,
version);
}

nr_php_zval_free(&zval_version);
Expand Down Expand Up @@ -753,7 +757,7 @@ void nr_drupal8_enable(TSRMLS_D) {
}

if (NRINI(vulnerability_management_package_detection_enabled)) {
nr_txn_add_php_package(NRPRG(txn), "drupal/core",
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME,
PHP_PACKAGE_VERSION_UNKNOWN);
}
}
6 changes: 5 additions & 1 deletion agent/fw_laravel.c
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,8 @@
#include "ext/standard/php_versioning.h"
#include "Zend/zend_exceptions.h"

#define PHP_PACKAGE_NAME "laravel/framework"

/*
* This instruments Laravel 4.0-5.0, inclusive.
* There is no support for Laravel 3.X or earlier.
Expand Down Expand Up @@ -959,7 +961,9 @@ NR_PHP_WRAPPER(nr_laravel_application_construct) {

if (NRINI(vulnerability_management_package_detection_enabled)) {
// Add php package to transaction
nr_txn_add_php_package(NRPRG(txn), "laravel/framework", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
nr_fw_support_add_package_supportability_metric(
NRPRG(txn), PHP_PACKAGE_NAME, version);
zsistla marked this conversation as resolved.
Show resolved Hide resolved
}

if (version) {
Expand Down
7 changes: 6 additions & 1 deletion agent/fw_slim.c
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,8 @@
#include "fw_support.h"
#include "util_logging.h"

#define PHP_PACKAGE_NAME "slim/slim"

static char* nr_slim_path_from_route(zval* route TSRMLS_DC) {
zval* name = NULL;
zval* pattern = NULL;
Expand Down Expand Up @@ -120,7 +122,10 @@ NR_PHP_WRAPPER(nr_slim_application_construct) {
version = nr_php_get_object_constant(this_var, "VERSION");

// Add php package to transaction
nr_txn_add_php_package(NRPRG(txn), "slim/slim", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
zsistla marked this conversation as resolved.
Show resolved Hide resolved

nr_fw_support_add_package_supportability_metric(NRPRG(txn), PHP_PACKAGE_NAME,
version);

nr_free(version);
nr_php_scope_release(&this_var);
Expand Down
33 changes: 33 additions & 0 deletions agent/fw_support.c
Original file line number Diff line number Diff line change
Expand Up @@ -52,3 +52,36 @@ void nr_fw_support_add_logging_supportability_metric(nrtxn_t* txn,
nrm_force_add(txn->unscoped_metrics, metname, 0);
nr_free(metname);
}

void nr_fw_support_add_package_supportability_metric(
nrtxn_t* txn,
const char* package_name,
const char* package_version) {
if (NULL == txn || NULL == package_name || NULL == package_version) {
return;
}

char* metname = NULL;
char major_version[4] = {0};

/* The below for loop checks if the major version of the package is more than
* one digit and keeps looping until a '.' is encountered or one of the
* conditions is met.
*/
for (int i = 0; package_version[i] && i < 4; i++) {
if ('.' == package_version[i]) {
break;
}
major_version[i] = package_version[i];
}

if (NR_FW_UNSET == NRINI(force_framework)) {
metname = nr_formatf("Supportability/PHP/package/%s/%s/detected",
package_name, major_version);
} else {
metname = nr_formatf("Supportability/PHP/package/%s/%s/forced",
package_name, major_version);
}
nrm_force_add(txn->unscoped_metrics, metname, 0);
nr_free(metname);
}
13 changes: 13 additions & 0 deletions agent/fw_support.h
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,17 @@ extern void nr_fw_support_add_logging_supportability_metric(
const char* library_name,
const bool is_enabled);

/*
* Purpose: Add 'Supportability/PHP/package/{package}/{version}/detected' metric
*
* Params : 1. Transaction object
* 2. Package name
* 3. Package version
*
*/
extern void nr_fw_support_add_package_supportability_metric(
nrtxn_t* txn,
const char* package_name,
const char* package_version);

#endif /* FW_SUPPORT_HDR */
7 changes: 5 additions & 2 deletions agent/fw_wordpress.c
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@

#define NR_WORDPRESS_HOOK_PREFIX "Framework/WordPress/Hook/"
#define NR_WORDPRESS_PLUGIN_PREFIX "Framework/WordPress/Plugin/"
#define PHP_PACKAGE_NAME "wordpress"

static nr_regex_t* wordpress_hook_regex;

Expand Down Expand Up @@ -809,7 +810,9 @@ void nr_wordpress_version() {
if (SUCCESS == result) {
if (nr_php_is_zval_valid_string(&retval)) {
char* version = Z_STRVAL(retval);
nr_txn_add_php_package(NRPRG(txn), "wordpress", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
zsistla marked this conversation as resolved.
Show resolved Hide resolved
nr_fw_support_add_package_supportability_metric(NRPRG(txn), PHP_PACKAGE_NAME,
version);
}
zval_dtor(&retval);
}
Expand Down Expand Up @@ -865,7 +868,7 @@ void nr_wordpress_enable(TSRMLS_D) {
#endif /* OAPI */

if (NRINI(vulnerability_management_package_detection_enabled)) {
nr_txn_add_php_package(NRPRG(txn), "wordpress",
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME,
PHP_PACKAGE_VERSION_UNKNOWN);
}
}
Expand Down
9 changes: 8 additions & 1 deletion agent/lib_guzzle6.c
Original file line number Diff line number Diff line change
Expand Up @@ -58,6 +58,8 @@

#include "ext/standard/php_var.h"

#define PHP_PACKAGE_NAME "guzzlehttp/guzzle"

/*
* Since Guzzle 6 requires PHP 5.5.0 or later, we just won't build the Guzzle 6
* support on older versions and will instead provide simple stubs for the two
Expand Down Expand Up @@ -352,8 +354,13 @@ NR_PHP_WRAPPER_START(nr_guzzle6_client_construct) {

if (NRINI(vulnerability_management_package_detection_enabled)) {
char* version = nr_php_get_object_constant(this_var, "VERSION");
if (NULL == version) {
version = nr_php_get_object_constant(this_var, "MAJOR_VERSION");
}
// Add php package to transaction
nr_txn_add_php_package(NRPRG(txn), "guzzlehttp/guzzle", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
zsistla marked this conversation as resolved.
Show resolved Hide resolved
nr_fw_support_add_package_supportability_metric(
NRPRG(txn), PHP_PACKAGE_NAME, version);
nr_free(version);
}

Expand Down
8 changes: 7 additions & 1 deletion agent/lib_monolog.c
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,8 @@
#define LOG_DECORATE_PROC_FUNC_NAME \
"newrelic_phpagent_monolog_decorating_processor"

#define PHP_PACKAGE_NAME "monolog/monolog"

/*
* Purpose : Convert Monolog\Logger::API to integer
*
Expand Down Expand Up @@ -373,6 +375,10 @@ NR_PHP_WRAPPER(nr_monolog_logger_addrecord) {
api = nr_monolog_version(this_var TSRMLS_CC);
timestamp
= nr_monolog_get_timestamp(api, argc, NR_EXECUTE_ORIG_ARGS TSRMLS_CC);
char version[5];
snprintf(version, sizeof(version), "%d", api);
nr_fw_support_add_package_supportability_metric(NRPRG(txn),
PHP_PACKAGE_NAME, version);
}

/* Record the log event */
Expand Down Expand Up @@ -513,7 +519,7 @@ void nr_monolog_enable(TSRMLS_D) {
nr_monolog_logger_addrecord TSRMLS_CC);

if (NRINI(vulnerability_management_package_detection_enabled)) {
nr_txn_add_php_package(NRPRG(txn), "monolog/monolog",
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME,
PHP_PACKAGE_VERSION_UNKNOWN);
}
}
6 changes: 5 additions & 1 deletion agent/lib_predis.c
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
#include "util_strings.h"
#include "lib_predis_private.h"

#define PHP_PACKAGE_NAME "predis/predis"

/*
* Predis instrumentation
* ======================
Expand Down Expand Up @@ -649,7 +651,9 @@ NR_PHP_WRAPPER(nr_predis_client_construct) {
if (NRINI(vulnerability_management_package_detection_enabled)) {
char* version = nr_php_get_object_constant(scope, "VERSION");
// Add php package to transaction
nr_txn_add_php_package(NRPRG(txn), "predis/predis", version);
nr_txn_add_php_package(NRPRG(txn), PHP_PACKAGE_NAME, version);
nr_fw_support_add_package_supportability_metric(NRPRG(txn),
PHP_PACKAGE_NAME, version);
nr_free(version);
}

Expand Down
11 changes: 8 additions & 3 deletions agent/php_agent.c
Original file line number Diff line number Diff line change
Expand Up @@ -727,10 +727,15 @@ char* nr_php_get_object_constant(zval* app, const char* name) {

if (nr_php_is_zval_valid_string(version)) {
retval = nr_strndup(Z_STRVAL_P(version), Z_STRLEN_P(version));
} else if (nr_php_is_zval_valid_integer(version)) {
zend_string* zstr = zend_long_to_str(Z_LVAL_P(version));
retval = nr_strndup(ZSTR_VAL(zstr), ZSTR_LEN(zstr));
zend_string_release(zstr);
} else {
nrl_verbosedebug(NRL_FRAMEWORK,
"%s: expected VERSION be a valid string, got type %d",
__func__, Z_TYPE_P(version));
nrl_verbosedebug(
NRL_FRAMEWORK,
"%s: expected VERSION to be a valid string or int, got type %d",
__func__, Z_TYPE_P(version));
}

nr_php_zval_free(&version);
Expand Down
55 changes: 55 additions & 0 deletions agent/tests/test_fw_support.c
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,15 @@ tlib_parallel_info_t parallel_info

static void test_fw_supportability_metrics(void) {
#define LIBRARY_NAME "php-package"
#define LIBRARY_MAJOR_VERSION "7"
#define LIBRARY_MAJOR_VERSION_2 "10"
#define LIBRARY_MAJOR_VERSION_3 "100"
#define LIBRARY_MAJOR_VERSION_4 "1.23"
#define LIBRARY_MAJOR_VERSION_5 "12.34"
#define LIBRARY_MAJOR_VERSION_6 "123.45"
zsistla marked this conversation as resolved.
Show resolved Hide resolved
#define LIBRARY_METRIC "Supportability/library/" LIBRARY_NAME "/detected"
#define LOGGING_LIBRARY_METRIC "Supportability/Logging/PHP/" LIBRARY_NAME
#define PACKAGE_METRIC "Supportability/PHP/package/" LIBRARY_NAME
nrtxn_t t;
nrtxn_t* txn = &t;
txn->unscoped_metrics = nrm_table_create(10);
Expand All @@ -36,6 +43,18 @@ static void test_fw_supportability_metrics(void) {
tlib_pass_if_int_equal("NULL logging library metric not created", 0,
nrm_table_size(txn->unscoped_metrics));

nr_fw_support_add_package_supportability_metric(NULL, LIBRARY_NAME, LIBRARY_MAJOR_VERSION);
tlib_pass_if_int_equal("package metric not created in NULL metrics",
0, nrm_table_size(txn->unscoped_metrics));

nr_fw_support_add_package_supportability_metric(txn, NULL, LIBRARY_MAJOR_VERSION);
tlib_pass_if_int_equal("NULL package name, metric not created", 0,
nrm_table_size(txn->unscoped_metrics));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME, NULL);
tlib_pass_if_int_equal("NULL major version, metric not created", 0,
nrm_table_size(txn->unscoped_metrics));

/* Happy path */
nr_fw_support_add_library_supportability_metric(txn, LIBRARY_NAME);
tlib_pass_if_not_null("happy path: library metric created",
Expand All @@ -51,6 +70,42 @@ static void test_fw_supportability_metrics(void) {
"happy path: logging library metric created",
nrm_find(txn->unscoped_metrics, LOGGING_LIBRARY_METRIC "/disabled"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION);
tlib_pass_if_not_null("happy path test 1: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC
"/" LIBRARY_MAJOR_VERSION "/detected"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION_2);
tlib_pass_if_not_null("happy path test 2: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC
"/" LIBRARY_MAJOR_VERSION_2 "/detected"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION_3);
tlib_pass_if_not_null("happy path test 3: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC
"/" LIBRARY_MAJOR_VERSION_3 "/detected"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION_4);
tlib_pass_if_not_null(
"happy path test 4: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC "/1/detected"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION_5);
tlib_pass_if_not_null(
"happy path test 5: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC "/12/detected"));

nr_fw_support_add_package_supportability_metric(txn, LIBRARY_NAME,
LIBRARY_MAJOR_VERSION_6);
tlib_pass_if_not_null(
"happy path test 6: package metric created",
nrm_find(txn->unscoped_metrics, PACKAGE_METRIC "/123/detected"));

nrm_table_destroy(&txn->unscoped_metrics);
}

Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle6/test_cat.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Logging/Forwarding/PHP/enabled"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle6/test_dt.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle6/test_dt_synthetics.php
Original file line number Diff line number Diff line change
Expand Up @@ -65,6 +65,7 @@
[{"name":"WebTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"WebTransactionTotalTime/Uri__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"HttpDispatcher"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
[{"name":"WebTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"WebTransactionTotalTime/Uri__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"HttpDispatcher"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle6/test_no_cat_no_dt.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/6/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Logging/Forwarding/PHP/enabled"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/Logging/Metrics/PHP/enabled"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle7/test_cat.php
Original file line number Diff line number Diff line change
Expand Up @@ -51,6 +51,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/7/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Logging/Forwarding/PHP/enabled"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
1 change: 1 addition & 0 deletions tests/integration/external/guzzle7/test_dt.php
Original file line number Diff line number Diff line change
Expand Up @@ -42,6 +42,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/7/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,7 @@
[{"name":"OtherTransaction/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"OtherTransactionTotalTime/php__FILE__"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/PHP/package/guzzlehttp/guzzle/7/detected"}, [1, "??", "??", "??", "??", "??"]],
[{"name":"Supportability/library/Guzzle 6/detected"}, [1, 0, 0, 0, 0, 0]],
[{"name":"Supportability/Unsupported/curl_setopt/CURLOPT_HEADERFUNCTION/closure"}, [3, 0, 0, 0, 0, 0]],
[{"name":"DurationByCaller/Unknown/Unknown/Unknown/Unknown/all"}, [1, "??", "??", "??", "??", "??"]],
Expand Down
Loading
Loading