[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fzOMQZs2Bsn4nb9f8YafTm0XlM2DbM4ZXm7GtlP12SfM":3},{"slug":4,"name":5,"version":6,"author":7,"author_profile":8,"description":9,"short_description":10,"active_installs":11,"downloaded":12,"rating":13,"num_ratings":14,"last_updated":15,"tested_up_to":16,"requires_at_least":17,"requires_php":18,"tags":19,"homepage":24,"download_link":25,"security_score":13,"vuln_count":26,"unpatched_count":26,"last_vuln_date":27,"fetched_at":28,"vulnerabilities":29,"developer":30,"crawl_stats":27,"alternatives":37,"analysis":38,"fingerprints":126},"wp-newrelic","New Relic Reporting for WordPress","1.3.3","10up","https:\u002F\u002Fprofiles.wordpress.org\u002F10up\u002F","\u003Cp>WP New Relic (WPNR) is designed to use with \u003Ca href=\"https:\u002F\u002Fnewrelic.com\u002Fapplication-monitoring\" rel=\"nofollow ugc\">New Relic APM\u003C\u002Fa> which uses \u003Ca href=\"https:\u002F\u002Fdocs.newrelic.com\u002Fdocs\u002Fagents\u002Fphp-agent\u002Fconfiguration\u002Fphp-agent-api\" rel=\"nofollow ugc\">New Relic PHP Agent API\u003C\u002Fa> to properly augment existing metrics with valuable WordPress details such as templates, users, request type, transaction names etc. This plugin is tested with PHP Agent 10.19.0.9.\u003C\u002Fp>\n\u003Cp>New Relic is a trademark of New Relic, Inc.\u003C\u002Fp>\n\u003Ch4>Admin Settings\u003C\u002Fh4>\n\u003Cp>After activating the plugin, You will see a new option named \u003Cstrong>New Relic\u003C\u002Fstrong> under the Tools menu in your WordPress Dashboard. If you are running WordPress in Network Mode, the settings page will be found in your Network Dashboard.\u003C\u002Fp>\n\u003Cp>Capture URL Parameters: If Capture URLs setting is enabled, it will capture URL parameters for displaying in transaction traces.\u003C\u002Fp>\n\u003Ch4>Basic Config\u003C\u002Fh4>\n\u003Cp>By default plugin will setup 3 configs.\u003Cbr \u002F>\n– newrelic.appname\u003Cbr \u002F>\n– newrelic.capture_params\u003Cbr \u002F>\n– newrelic.framework (value is wordpress)\u003C\u002Fp>\n\u003Cp>appname and capture_params config can be override using \u003Cstrong>wp_nr_config filter\u003C\u002Fstrong>. \u003Cstrong>wp_nr_setup_config\u003C\u002Fstrong> action hook can also be used to setup any extra config.\u003C\u002Fp>\n\u003Ch4>New Relic Custom Attributes\u003C\u002Fh4>\n\u003Cp>Certain useful custom attrribute (just like WordPress post meta) will be set for each event which can provide additional information using key-value pair. You can query events and filter them using these attributes in New Relic Insights. See \u003Ca href=\"https:\u002F\u002Fdocs.newrelic.com\u002Fdocs\u002Finsights\u002Fnew-relic-insights\u002Fusing-new-relic-query-language\u002Fnrql-reference\" rel=\"nofollow ugc\">NRQL reference\u003C\u002Fa> for more details on how to query events.\u003C\u002Fp>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>User\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>User attribute is getting set using \u003Ca href=\"https:\u002F\u002Fdocs.newrelic.com\u002Fdocs\u002Fagents\u002Fphp-agent\u002Fconfiguration\u002Fphp-agent-api#api-set-user-attributes\" rel=\"nofollow ugc\">newrelic_set_user_attributes\u003C\u002Fa>. If user is logged in, user ID will be set to user attribute and if not it will be set to \u003Cstrong>not-logged-in\u003C\u002Fstrong>.\u003Cbr \u002F>\nEx: In New Relic Insights you can query transactions for non-logged in users as\u003Cbr \u002F>\nSELECT * FROM Transaction WHERE appName = ‘{appName}’ AND user = ‘not-logged-in’\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Post ID\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For single post, post ID will be set via \u003Cstrong>post_id\u003C\u002Fstrong> custom parameter in transaction.\u003C\u002Fp>\n\u003Cp>Ex: Get all transactions for a post ID 190.\u003C\u002Fp>\n\u003Cp>SELECT * FROM Transaction WHERE appName = ‘{appName}’ AND post_id = ‘190’\u003C\u002Fp>\n\u003Cp>One can also query for post view count for post 190.\u003C\u002Fp>\n\u003Cp>SELECT count(*) FROM Transaction WHERE appName = ‘{appName}’ AND post_id = ‘190’\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Template\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>For each request, template being used getting set as \u003Cstrong>template\u003C\u002Fstrong> custom parameter in transaction.\u003C\u002Fp>\n\u003Cp>Ex: You can query all transactions for a particular template as following.\u003C\u002Fp>\n\u003Cp>SELECT * FROM Transaction WHERE appName = ‘{appName}’ AND template = ‘{Absolute Template Path}’\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Theme\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Current theme is getting set as \u003Cstrong>theme\u003C\u002Fstrong> custom parameter in transaction.\u003C\u002Fp>\n\u003Cp>Ex: Query all transactions for “Twenty Fifteen” theme.\u003C\u002Fp>\n\u003Cp>SELECT * FROM Transaction WHERE appName = ‘{appName}’ AND theme = ‘Twenty Fifteen’\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Request type\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>There can be 3 type of requests namely web, ajax and cli. Current request type getting set as \u003Cstrong>request_type\u003C\u002Fstrong> custom parameter in transaction.\u003Cbr \u002F>\nRequest type can be override using wp_nr_request_type filter.\u003C\u002Fp>\n\u003Cp>Ex: Get all transaction for “ajax” request type\u003C\u002Fp>\n\u003Cp>SELECT * FROM Transaction WHERE appName = ‘{appName}’ AND request_type = ‘ajax’\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Transaction Name\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Transaction name is getting set as per the main WP_Query parameters using \u003Ca href=\"https:\u002F\u002Fdocs.newrelic.com\u002Fdocs\u002Fagents\u002Fphp-agent\u002Fconfiguration\u002Fphp-agent-api#api-name-wt\" rel=\"nofollow ugc\">newrelic_name_transaction\u003C\u002Fa>.\u003Cbr \u002F>\nPossible values are Default Home Page, Front Page, Blog Page, Network Dashboard, Dashboard, Single – {post_type}, Page – {pagename}, Date Archive, Search Page, Feed, Archive – {post_type}, Category – {cat_name}, Tag – {tag_name}, Tax – {taxonomy} – {term}\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Custom Error Logging\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>Using \u003Cstrong>wp_nr_log_errors\u003C\u002Fstrong> function, any plugin\u002Ftheme can log errors\u002Fnotices to New Relic for current transaction.\u003Cbr \u002F>\nNote: This function can be used more than once but only last use will be considered to log the error to New Relic. It’s limitation of \u003Ca href=\"https:\u002F\u002Fdocs.newrelic.com\u002Fdocs\u002Fagents\u002Fphp-agent\u002Fconfiguration\u002Fphp-agent-api#api-notice-error\" rel=\"nofollow ugc\">PHP Agent API\u003C\u002Fa>.\u003C\u002Fp>\n\u003Cp>\u003Cstrong>wp_nr_log_errors( ‘Error message’, Exception $exception );\u003C\u002Fstrong>\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Runtime of async tasks\u003C\u002Fstrong>\u003C\u002Fp>\n\u003Cp>This plugin also tracks runtime of \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F10up\u002FWP-Gears\" rel=\"nofollow ugc\">gearman\u003C\u002Fa> async tasks. Gearman async task run for a particular hook and it’s runtime can be track using “wp_async_task-{hook}” custom attribute in New Relic Insights.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n\u003Ch4>Issues\u003C\u002Fh4>\n\u003Col>\n\u003Cli>\n\u003Cp>\u003Cstrong>PHP version\u003C\u002Fstrong>\u003Cbr \u002F>\nPHP version 7.3.3 is known to cause issues with this plugin, updating to 7.3.11 or greater appears to resolve these issues.  For more details, see \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F10up\u002Fwp-newrelic\u002Fissues\u002F39\" rel=\"nofollow ugc\">issue#39\u003C\u002Fa>.\u003C\u002Fp>\n\u003C\u002Fli>\n\u003Cli>\n\u003Cp>\u003Cstrong>Have an issue to report?\u003C\u002Fstrong>\u003Cbr \u002F>\nIf you identify any errors or have an idea for improving the plugin, please open an \u003Ca href=\"https:\u002F\u002Fgithub.com\u002F10up\u002Fwp-newrelic\u002Fissues?stage=open\" rel=\"nofollow ugc\">issue\u003C\u002Fa>. We’re excited to see what the community thinks of this project, and we would love your input!\u003C\u002Fp>\n\u003C\u002Fli>\n\u003C\u002Fol>\n","New Relic APM reports for WordPress.",700,126163,100,4,"2025-08-11T19:31:00.000Z","6.8.5","6.3","8.0",[20,21,22,23],"apm-reporting","new-relic","new-relic-apm-reporting","new-relic-reporting","https:\u002F\u002Fwordpress.org\u002Fplugins\u002Fwp-newrelic","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fwp-newrelic.1.3.3.zip",0,null,"2026-03-15T15:16:48.613Z",[],{"slug":7,"display_name":7,"profile_url":8,"plugin_count":31,"total_installs":32,"avg_security_score":33,"avg_patch_time_days":34,"trust_score":35,"computed_at":36},23,1384530,98,546,78,"2026-04-04T15:33:31.901Z",[],{"attackSurface":39,"codeSignals":113,"taintFlows":121,"riskAssessment":122,"analyzedAt":125},{"hooks":40,"ajaxHandlers":109,"restRoutes":110,"shortcodes":111,"cronEvents":112,"entryPointCount":26,"unprotectedCount":26},[41,48,52,57,62,66,69,73,77,82,85,88,93,96,98,102,105],{"type":42,"name":43,"callback":44,"priority":45,"file":46,"line":47},"action","plugins_loaded","setup_config",9999,"classes\\class-wp-nr-apm.php",17,{"type":42,"name":49,"callback":50,"file":46,"line":51},"init","set_custom_variables",18,{"type":53,"name":54,"callback":55,"priority":45,"file":46,"line":56},"filter","template_include","set_template",19,{"type":42,"name":58,"callback":59,"priority":60,"file":46,"line":61},"wp","set_post_id",10,20,{"type":42,"name":63,"callback":64,"priority":45,"file":46,"line":65},"wp_async_task_before_job","async_before_job_track_time",22,{"type":42,"name":67,"callback":68,"priority":45,"file":46,"line":31},"wp_async_task_after_job","async_after_job_set_attribute",{"type":42,"name":70,"callback":71,"priority":45,"file":46,"line":72},"pre_amp_render_post","disable_nr_autorum",25,{"type":42,"name":74,"callback":75,"file":46,"line":76},"admin_init","set_admin_transaction",28,{"type":42,"name":78,"callback":79,"priority":80,"file":46,"line":81},"pre_get_posts","sitemap_check",1,30,{"type":42,"name":58,"callback":83,"file":46,"line":84},"set_wp_transaction",31,{"type":42,"name":86,"callback":83,"file":46,"line":87},"rest_api_init",32,{"type":42,"name":89,"callback":90,"file":91,"line":92},"network_admin_menu","action_admin_menu","classes\\class-wp-nr-dashboard.php",14,{"type":42,"name":94,"callback":90,"file":91,"line":95},"admin_menu",16,{"type":42,"name":74,"callback":97,"file":91,"line":61},"save_settings",{"type":42,"name":99,"callback":100,"file":101,"line":65},"network_admin_notices","wp_nr_not_installed_notice","classes\\class-wp-nr.php",{"type":42,"name":103,"callback":100,"file":101,"line":104},"admin_notices",24,{"type":42,"name":103,"callback":106,"file":107,"line":108},"closure","newrelic-reporting-for-wordpress.php",53,[],[],[],[],{"dangerousFunctions":114,"sqlUsage":115,"outputEscaping":117,"fileOperations":26,"externalRequests":26,"nonceChecks":80,"capabilityChecks":26,"bundledLibraries":120},[],{"prepared":26,"raw":26,"locations":116},[],{"escaped":118,"rawEcho":26,"locations":119},3,[],[],[],{"summary":123,"deductions":124},"The wp-newrelic plugin v1.3.3 demonstrates a strong security posture based on the provided static analysis.  It exhibits excellent practices by having no dangerous functions, using prepared statements exclusively for SQL queries, and properly escaping all output.  The absence of file operations and external HTTP requests, coupled with the presence of nonce checks, further solidifies its secure coding approach.  The lack of any recorded vulnerabilities or CVEs in its history is a significant positive indicator, suggesting a well-maintained and robust plugin.",[],"2026-03-16T19:24:26.557Z",{"wat":127,"direct":136},{"assetPaths":128,"generatorPatterns":131,"scriptPaths":132,"versionParams":133},[129,130],"\u002Fwp-content\u002Fplugins\u002Fwp-newrelic\u002Fassets\u002Fcss\u002Fwp-newrelic-admin.css","\u002Fwp-content\u002Fplugins\u002Fwp-newrelic\u002Fassets\u002Fjs\u002Fwp-newrelic-admin.js",[],[130],[134,135],"wp-newrelic\u002Fassets\u002Fcss\u002Fwp-newrelic-admin.css?ver=","wp-newrelic\u002Fassets\u002Fjs\u002Fwp-newrelic-admin.js?ver=",{"cssClasses":137,"htmlComments":139,"htmlAttributes":140,"restEndpoints":141,"jsGlobals":142,"shortcodeOutput":143},[138],"wp-newrelic-notice",[],[],[],[],[]]