Login  |  Packages  |  Support  |  Bugs


Changelog for APM
Release What has changed?
2.1.3 Fixed:
- PHP 5 build is broken #50 (Thanks Remi Collet)
2.1.2 Fixed:
- Wrong path for mysql.h prevents Windows build
- Possible segmentation fault and invalid errors under PHP 7.0
- Make error: duplicate symbol for architecture x86_64 #25
- Build with PHP 7.1 #44 (Thanks Remi Collet)
2.1.1 Fixed:
- Compilation issue with ZTS
2.1.0 Added:
- Support for PHP 7
- collecting HTTP method

- Better coexistence with Xdebug
2.0.5 Fixed:
- missing apm.statsd_exception_mode and apm.socket_exception_mode
- sqlite3.h file not found in Windows build

- Minor optimizations in stacktrace creation
2.0.4 Fixed:
- Temporary buffer not freed when generating stacktraces.
- Arguments in stacktraces dumped with a bigger depth than what is configured with apm.dump_max_depth.
2.0.3 Fixed:
- Double initialization of request data.
This could lead to data being present twice in DBs (reproducible with both SQLite and MySQL enabled).
- Default value of apm.dump_max_depth decreased to 1.
With today's application complexity, the amount of data collected in stacktraces
including arguments can lead to several thousands of MiB of memory consumed.
We recommend increasing this value with care.
- Weird things could happen when changing 'apm.enabled' during a request. It doesn't make much sense to support
in request activation/deactivation. 'apm.enabled' is therefor now PHP_INI_SYSTEM.
2.0.2 Fixed:
- Compilation issue on non ZTS setup
2.0.1 Fixed:
- #10: Bad configure message (thx @RemiCollet)
- #11: Bad version reported (thx @RemiCollet)
- #13: ZTS build is broken (thx @RemiCollet)
- APM not working with XDebug
If Xdebug is enabled as in xdebug_enable() or xdebug.default_enable, APM error callback will not be called.
Use xdebug.default_enable=0 or xdebug_disable() to go through APM error handling.

- #12: Installation of files via pecl install
- StatsD driver (thanks @0livier for the discovery!)

- Web frontend located on its own repository: https://github.com/patrickallaert/php-apm-web
2.0.0 New drivers:
- StatsD
- Socket

- Per-driver option 'apm.<storage driver>_store_silenced_events that lets you toggle whether to store silenced (@-ed) errors (thanks Mathieu Kooiman (@mathieuk))
- apm.*_exception_mode configuration to control exception collection
- Auto creation of SQLite and MariaDB/MySQL schemas
- Stats:
- User and System CPU time
- Memory Peak Usage
- HTTP response code
- 'application_id' field to categorize the issues per application/server/environment/...
- Support for compilation on Ubuntu (thanks Olivier Garcia (@0livier))

- Deep refactoring:
- New DB schema
- No more native functions, retrieval of data is directly made in PHP
- SQLite drivder attempts to create the directory structure by himself
- Renamed 'slow request' to 'stats'
- Connect to MySQL once and reconnect if needed
- Small UI improvements
- Avoiding int / uint conversion
- MariaDB/MySQL driver activated by default

- Parse error test failing on PHP 5.4
- Possible segfault with APM_DEBUG used outside RINIT/RSHUTDOWN phases
- Missing disconnect from SQLite DB if changed with ini_set()
- Too few arguments to sprintf() with MariaDB/MySQL backend
- Possible segfault with PHP 5.5
- Segmentation fault with "zend_mm_heap corrupted" message.
- Missing zval reference incrementing
- Out of memory error in backtrace generation
- Removed hard-coded limit of 64kB json data
- Do not activate silence handler if APM is not enabled
- Some compiler warnings
- Incorrect status propagation for PHP_RSHUTDOWN_FUNCTION
- Several memory leaks

- Deffered processing (can't be easily implemented in a generic and driver
agnostic way. Depending on the drivers, some deffered processing will
happen inside them.)
- Reference SQL files, see source code for that ;-)
2.0.0alpha1 Changed:
- Deep refactoring:
- New DB schema
- No more native functions, retrieval of data is directly made in PHP
1.1.0RC2 Changed:
- upgraded UI by using tweeter boostrap and upgrading jqGrid
1.1.0RC1 Added:
- --with-debugfile[=FILE] option to permit debugging of APM

- Lazy loading the connection to the SQLite database

- Ordering by URL not working
- Decouple mysql backend from sqlite3 (#62288)
- Invalid UTF-8 may cause backtrace to be truncated in MySQL driver (#62244)
1.1.0beta4 Added:
- Referer

- Storing all ts in SQLite as integers

- Bug #62187: The MySQL driver does not store a timestamp for an event (Thanks to mathieu at mollie dot nl, HMWiesinger at gmx dot at).
- Bug #62012: No data collected
- Missing post_vars column definition in SQL creation scripts.
1.1.0beta3 Fixed:
- Possible memory not being freed
- Segmentation fault preventing the collection of data (#62012)
1.1.0beta2 Fixed:
- Version 1.1.0beta* should be marked as "beta" and not as "stable"
- APM-1.1.0beta1.tgz file contains only package.xml (#61937)
- Some GCC warnings when built with PHP 5.4
- Error callback arguments must be copied in every cases
- Prevent calling the original error handler if Xdebug is loaded
- Possible segfault if MySQL server connection link is gone
1.1.0beta1 Added:
- New information stored: IP, host, POST data, cookies
- Configuration to limit the depth when dumping variables (apm.dump_max_depth)

- JSON flag for apm_get_*_events and apm_get_*_slow_requests

- Some UI refactoring
- Minor optimizations

- Installation failing because of config file being named "config.php"
pecl/pear installer issue?
- Some compilation warnings
- Deffered mode taking only the *mysql* error_reporting into account
- APM not correctly linking to libmysqlclient
- Possible buffer overflows
- Compilation issues related to timelib with PHP >= 5.3.9
1.0.1 Changed:
- Base install dir for web files, now in php/PECL/APM

- Bug #60276 pecl install fail installing APM
1.0.0 This is the initial stable release of APM.

- Script filename could possibly not be filled in case of slow request.
1.0.0beta3 Added:
- MySQL driver
- Per driver error reporting level
- Asynchronous processing of events (config option: apm.deffered_processing)

- Code refactored to make use of 'APM drivers'

- APM cannot be compiled with PHP < 5.2.2.
- Bug #17502: Drivers' rshutdown run only when slow_request tracking is enabled.
- Bug #17512: Sqlite connections aren't closed at the end of the request.
- Bug #17513: Using MySQL driver, only events of the first incoming request are stored.
- Bug #19421: apm.*_error_reporting is ignored.
1.0.0beta2 - Initial release
1.0.0beta1 - Initial release


Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Mon Jun 01 07:05:01 2020 UTC
Bandwidth and hardware provided by: pair Networks