MetrixWire APM

چۈشەندۈرۈش

MetrixWire APM traces every WordPress request end-to-end: response time, status, and (when SAVEQUERIES
is enabled) each $wpdb query as its own span. Detectors on the MetrixWire dashboard flag N+1 queries,
slow endpoints, slow queries, and unhandled exceptions from the traces this plugin sends.

No code changes are required — activate the plugin, paste your API key and endpoint under
Settings MetrixWire, and traces start flowing.

For the absolute earliest possible trace start (before regular plugins load), see the must-use plugin
variant bundled with the metrixwire/php Composer package instead.

External services

This plugin sends trace data to the MetrixWire endpoint you configure — your own instance, or
metrixwire.com if you use the hosted service. Each request contains the HTTP method, path, response
status, duration, and (when SAVEQUERIES is enabled) the SQL text and duration of each database query.
Nothing is sent until you enter an API key and endpoint, and nothing is sent while the Enabled toggle is
off. Traces leave the site on the shutdown hook, after the response has already reached the visitor.

ئورنىتىش

  1. Upload the metrixwire-apm folder to /wp-content/plugins/, or install the zip via Plugins Add New Upload Plugin.
  2. Activate the plugin through the Plugins menu.
  3. Go to Settings MetrixWire and enter your project’s API key and endpoint URL (find both in your
    MetrixWire dashboard’s install guide).
  4. Optionally add define( 'SAVEQUERIES', true ); to wp-config.php to capture per-query spans.
  5. Click Test Connection to confirm the key and endpoint are valid before saving.

FAQ

Can I configure this via wp-config.php instead of the settings screen?

Yes. Define METRIXWIRE_KEY, METRIXWIRE_ENDPOINT, and optionally METRIXWIRE_ENABLED as constants in
wp-config.php — they take precedence over the saved settings, and the settings screen shows the covered
fields as read-only.

Why aren’t database query spans showing up?

SAVEQUERIES must be defined as a constant in wp-config.php; WordPress reads it before any plugin loads,
so it can’t be turned on from the settings screen at runtime.

Does this slow down my site?

Traces are sent on the shutdown hook, after the response has already been sent to the visitor, over a
short-timeout non-blocking request. Failures to reach MetrixWire are swallowed silently.

Does it work on multisite?

Yes. Each site keeps its own API key, endpoint, and toggle, and uninstalling removes those options from
every site in the network.

باھالاشلار

بۇ قىستۇرمىغا تېخى باھا يېزىلمىدى.

تۆھپىكار ۋە ئىجادكار

«MetrixWire APM» كودى ئوچۇق يۇمشاق دېتال. تۆۋەندىكى كىشىلەر بۇ قىستۇرمىغا تۆھپە قوشقان.

تۆھپىكار

«MetrixWire APM» نى تىلىڭىزغا تەرجىمە قىلىڭ

ئىجادىيەتكە قىزىقامسىز؟

كودقا كۆز يۈگۈرتۈپ، SVN خەزىنە تەكشۈرۈپ ياكى RSSئارقىلىق ئىجادىيەت خاتىرىسىگە مۇشتەرى بولغىلى بولىدۇ.

ئۆزگىرىش خاتىرىسى

1.1.0

  • Renamed the plugin slug and text domain to metrixwire-apm, with translation-ready strings and a
    bundled .pot template.
  • Settings screen rebuilt on the WordPress Settings API, with a «Settings» shortcut on the Plugins row.
  • wp-config.php constants now render as read-only values per field instead of disabling the form, so
    saving no longer clears the options they cover.
  • Options are prefixed metrixwire_apm_*; activation migrates values saved by the 1.0 plugin.
  • Uninstall now clears options on every site of a multisite network.
  • Traces are posted with wp_remote_post() instead of cURL, so the site’s HTTP transport, proxy
    settings and filters apply.

1.0.0

  • Initial release: settings screen, wp-config.php constant override, test-connection check, automatic
    request + database query tracing.