DataDog / dd-trace-php

Datadog PHP Clients
https://docs.datadoghq.com/tracing/setup/php
Other
496 stars 154 forks source link

WordPress 5.x #901

Closed fmolina24 closed 2 years ago

fmolina24 commented 4 years ago

Are there any plans to support WordPress 5.x in the near future?

labbati commented 4 years ago

Hi @fmolina24 Wordpress 5.x is supported, as any other web framework out there. By default and out of the box we support ALL the web frameworks. E.g. here is a trace for WP 5.4

image

For an ever growing number of web frameworks we also provide much more details about the framework's internals. Wordpress 5.x is not one of those but we plan to work on it shortly.

If after you enable the tracer on your WP 5 app you find some specific modules/middlewares that you like us to trace with deeper level of visibility please let us know.

labbati commented 4 years ago

Hi @fmolina24 did my comment above help you at all? Are you able to see traces and to extract useful info from them?

NickStallman commented 4 years ago

Probably the biggest issue is if the major version isn't 4 then WordPressSandboxedIntegration disables its self.

Wordpress 5 is basically 100% compatible with Wordpress 4 so the existing tracking code should be enabled if the version is 4 or 5.

I'm maintaining my own fork just to bypass that check and there are no negative side effects.

fmolina24 commented 4 years ago

@labbati Our APM looks similar to yours in the screenshot but it seems we are not getting the rest of the metadata provided by the WordPress Integration. It seems to be the same issue @NickStallman mentioned above it gets disabled if the version is not 4.

nexik commented 4 years ago

Any updates when wordpress 5.x will be supported?

nexik commented 4 years ago

@labbati I understood you don't ban Wordpress for getting basic php instrumentations, but informing customer that you have Wordpress support is misleading when you don't give any extra value for Wordpress 5.x integration which for the long time is actual version.

Your Wordpress integration works only on old outdated versions like @fmolina24 and @NickStallman mentions. Maybe you should mention on the docs that Wordpress is deprecated and don't work with current version of Wordpress.

Also saying that you plan to work on WP 5.x shortly and no update after 4 months is discouraging for the customers. I fear that before you add support for Wordpress 5.x, 6.x will be released (Dec 2021).

labbati commented 4 years ago

@nexik all that you write is correct. Not to provide a justification, but to give you some context, we had postponed deeper instrumentation of WP5 (to bring it in pair with WP4) to focus on other important issues that were urgent, e.g. sandboxing all our instrumentation (now any bug we introduce in our tracing will not crash user's app).

Let us discuss this during our planning. A possible outcome that I envision is a 2-phase commitment:

  1. We add tests for WP5 and remove the check that @NickStallman was mentioning.
  2. We add even more deeper instrumentation to WP4/5, going even deeper in plugins/themes lifecycles.

As a final comment for other readers, even if the current implementation does not provide deep instrumentation of WP5 internals, there are still all the benefits of generic web tracing, meaning all queries, cache, http client calls for the supported libraries are visible.

NickStallman commented 4 years ago

@labbati that sounds good. Phase 1 doesn't need much work as the current code works completely fine as-is.

Generic tracing isn't as useful with WP especially when you throw in a few plugins. It can be tricky to tell where a query is coming from for example.

I may be able to provide a pull request to add extra instrumentation for WP (I already have a few tweaks for my internal use) however this will be dependent on me having some free time.

labbati commented 4 years ago

Thanks @NickStallman that would be awesome. In the meantime let me provide a plan at least for phase 1 (I need to add a testsuite for WP5 to make sure everything is smooth).

nexik commented 4 years ago

Thanks for update @labbati

this kind information and openness is very helpful for me during planning and implementing changes to our infrastructure

robolmos commented 4 years ago

Probably the biggest issue is if the major version isn't 4 then WordPressSandboxedIntegration disables its self.

Thanks for the tip @NickStallman with WordPressSandboxedIntegration WP5 instrumentation is now working for me. I'm seeing a little more WP trace insights (but not much, IMO).

I was trying to figure out why APM wasn't showing any auto-instrumentation for WP despite saying it's supported (docs not being clear it's only for WP4).

Not seeing any new errors for a pretty busy site with many plugins.

SammyK commented 3 years ago

Improved WordPress 5 support was shipped in 0.50.0 for PHP 7. Improved WordPress 5 support on PHP 5 is planned for 0.51.0.