elastic / elastic/apm-agent-php

Add support for Laravel framework

Open
#205 5 comments 0 reactions 0 assignees View on GitHub
agent-php enhancement from a real user from discuss.elastic.co priority: high triaged
Dominant language
PHP
Stars
268
Forks
86
PR merge metrics
No merged PRs in 30d

Description

#258 is a prerequisite

Mentioned at https://discuss.elastic.co/t/have-any-roadmap-for-supporting-php-frameworks/253892

Sub-story:
- [ ] Transaction name based on the selected route
- [ ] Capture exception escaping application code into framework code
- [ ] Research which data we should include in transaction/span
- [ ] Contracts (https://laravel.com/docs/10.x/contracts) - if it's too big we might split it into a separate story

Implementation details:
- Design a skeleton for a framework support auto instrumentation
- Decide what information framework-supporting auto instrumentation part should provide
- Capture route info to derive transaction name
- Discover service name/version
- Capture user info for transaction's context.user (although it might be worth investigating if it's possible to capture user info in some centralized not framework-specific way)
- Detect if request completed with an error (for example whether exception escaped from top level application specific code into framework code)

- Refactor currently already existing support for CLI script and PHP CLI built-in HTTP server as auto instrumentation components following the designed skeleton.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.