Miscellaneous changes in 10.15.2 affecting backwards compatibility
The following changes in Apama 10.15.2 affect backwards compatibility to previous Apama versions:
User status metrics with names containing labels in the form
{keyA=valueA,keyB=valueB} are now converted to Prometheus metrics with those labels in the Prometheus labels. The HTTP server transport now uses this syntax for chains that it creates dynamically.
For example, if you have somename{key=value} as part of the user status name, this is now converted to a Prometheus label on the metric somename. Previously, a user status with a name like this did not appear in Prometheus at all.
As a result, the HTTP server transport, which used to prefix all metrics on its chains for example with httpServer_instance_5_, now prefixes them with httpServer{chain=5} instead. This means, that the resulting metrics now look like this:
sag_apama_correlator_user_httpServer_metricname{chain=5}
instead of
sag_apama_correlator_user_httpServer_instance_5_metricname
A change has been introduced for the EPL coverage tool to correct a few issues with the tool, such as potentially duplicate or unmerged entries for the same
.mon file. That is, the EPL code coverage tool now uses slightly different rules for merging coverage information for each unique
.mon file, and for applying the include and exclude filters. In some cases, this can change the
.mon paths listed in coverage reports. The main change is that if a
--source directory is specified, the tool now uses that for the path of all injected
.mon files with binary contents matching a file of the same name in the source directory. Additionally, the include and exclude filters are now applied not only to the
.mon file paths that were injected, but also to the searching of
--source directories. For best results, it is recommended to specify a
--source directory and adjust any existing
--exclude patterns if needed to ensure that the right EPL files are included in the coverage reports. For those using PySys to run the coverage tool, the sample project at
APAMA_HOME/samples/pysys/pysysproject.xml has been updated to demonstrate a best practice
EPLCoverageWriter configuration. The PySys
EPLCoverageWriter no longer implicitly excludes
testRootDir/** if the
testRootDir (or any subdirectory) is specified as a source directory. See also
Creating code coverage reports.
There may also be removed features that affect backwards compatibility. See
Removed and deprecated features in 10.15.2 for more information.