- JDK17 compatibility updates;
- update asm library;
- fix: error messages in UtilProcessorFn;
- fix: Prometheus scrapping mode;
- fix: zipkin/jaeger output;
- fix: TLS support for internal HTTP server;
- search functionality in memory chunk store;
- simplify collector: keep symbols along with trace chunk data;
- various fixes;
- collector: trace data compression;
- new functions for password encryption;
- fix: built-in tracer exclusions not loading properly;
- update: ASM 7.2 (code compiled by JDK13 compiler now works);
- thread monitoring: ranking with cpu utilization;
- thread monitoring: thread contention log;
- generic servlet container instrumentation;
- remove snmp trapper support;
- remove nagios support;
- remove normalizers framework;
- tracing context propagation compatible with Zipkin/Jaeger/W3;
- zipkin trace output (v2, http/json);
- simplify agent-collector interaction & collector side data model;
- fix bugs causing some classes to be skipped by instrumentation engine;
- SLA calculation code removed from ZorkaStats;
- new NIO based network server (based on http-kit);
- Prometheus scrapping mode - rudimentary implementation;
- fix: request parsing for Zabbix 4.0;
- zico2: switched to binary agent-collector protcol (no base64 anymore);
- zico2: optional TLS encryption between agent and server;
- new HTTP client code with TLS support and keep-alive;
- agent registration from command line;
- hystrix instrumentation & dtrace support;
- spring AMQP instrumentation & dtrace support;
- internal: intra-thread communication via SpyStateShelf;
- internal: preliminary TLS support, http service implementation;
- fix: NPEs in SpyClassResolver causing some classes being not instrumented;
- fix: jvm http client now working properly;
- new high performance tracer implementation (experimental, not yet fully stable);
- automated tracer tuning;
- flex messaging library support;
- fixes: agent config reload;
- reinstrument classes in background;
- distributed tracing: quarts;
- distributed tracing support (see docs);
spring.version
option - switch between spring3 and spring5;- cleanups, cut useless dependencies and components (zorka-viewer, fest);
- Fix: try/catch on constructors generated verify errors on JDK8+;
- Fix: return probes for long and double types caused verify errors;
- Fix: generate proper stack frames for constructors;
- JDK9, JDK10, JDK11, GraalVM now works properly (tested only on Tomcat);
- pre- and post- instrumentation bytecode dump functionality (useful for debugging);
- new tracer function: force trace record to be always submitted;
- this is development version: things may change in unpredictable ways;
- released along with next gen ZICO collector (development snapshot);
- this is development version: things may change in unpredictable ways;
- automatic detection of application servers and frameworks;
- environment variables, system properties, references in zorka.properties;
- description field in zorka metrics (useful for autodiscovered items);
- InfluxDB integration (HTTP push via perfmon library);
- use slf4j instead of custom logging API (jarjar moves all classes aside, so no conflicts should occur);
- OpenTSDB integration (HTTP push via perfmon library);
- Graphite integration (TCP/pickle push via perfmon library);
- Prometheus integration (via Push Gateway);
- include BSH and libsnmp into agent codebase;
- HTTP/CBOR tracer output - fixes and protocol changes;
- update: ASM 6.0;
- Wildfly 8.x/9.x: catch HTTP traces in the lowest layer of Undertow;
- Wildfly 10.x, 11.x support;
- Alfresco 2017+ support;
- HTTP/CBOR tracer output (new CBOR collector is yet to be released);
- fixes & performance improvements for active checks (by dd00ff@github);
- add Zabbix host metadata to default and sample property files;
- detect and skip instrumentation if argument index out of scope;
- templates for Zabbix 3.x + support for automatic registration;
- new tracer.min.trace.calls setting to ease tracer tuning;
- Various fixes;
This version is released after a long break. As full QA/testing process hasn't been fully restarted, please test agent in a non-production environment first.
- Minor fixes for ZICO UI;
- Unboundid LDAP SDK support;
- Fix/extend nagios scipts;
- Preliminary support for Clojure+Ring/Jetty;
- Apache HTTPClient support
- various fixes
- LDAP login for ZICO collector
- get rid of gson dependency;
- various fixes;
- automatically determine stack frame computation (JDK7+);
- agent: fixes (MySQL, thread pools);
- collector: fixes (NPE when resetting password);
- zorka: performance SLA calculation for ZorkaStats;
- zico: reduce memory consumption;
- several bufixes;
- fix: proper ASM5 instruction set version in ASM class reader;
- ZICO: pivot (aggregate) view of collected traces;
- zico-util: improve parallelism of index rebuild op (by sorting host dirs by size);
- active checks: fixes, new templates;
- ZICO UI: many fixes, regexp search;
- more fixes to ZICO collector;
- HTTP/SQL/EJB tagging and classification;
- active checks for Zabbix (makotoiguchi);
- bugfix release
- CAS integration;
- fixes and refactorings;
- lots of UI bugs fixed after scrapping GXT;
- use REST+JSON for communication between UI and collector (get rid of RequestFactory);
- ZICO collector now requires Java 8 to work;
- enhance nagios commands framework, predefined commands for JVM, HTTP, SQL etc.
- update dependencies: asm, fressian;
- revamp ZICO UI (get rid of GXT, upgrade to GWT 2.6, Jetty 9);
- hide BSH scripts inside agent jar (yet scripts/ directory for user scripts still works)
- JMX values scanner for Nagios - with aggregates and other features;
- grouping hosts in ZICO collector;
- bugfixes;
- support for JDK 8 (generating stack maps for instrumented code);
- Tomcat 8 now officially supported;
- UI: filter traces by timestamp, other EQL fixes;
- UI: fixes for safe mode and host properties editing;
- Glassfish 4.0 support;
- agent: util.tapInputStream(), util.tapOutputStream() for wiretaping streams;
- SOAP monitoring: support for Apache CXF framework;
- REST monitoring: general config + support for Apache CXF framework;
- SOAP monitoring (with Axis 1.x support, more to come);
- Wildfly 8.0 + Undertow support;
- JBoss Management (DMR) access via zorka agent;
- support for Spring MVC tracing/monitoring;
- support for Quartz tracing/monitoring
- fix: data corruption in ZICO collector;
- fixes for agent operating in Windows env (paths, log buffering etc.);
- various collector / UI fixes;
- JMS monitoring support;
- file/zabbix/syslog trappers for EJB/HTTP/SQL/JMS slow/error query logs;
- rudimentary application auditing framework (only JBoss7 supported at the moment);
- lot of fixes, collector and collector UI;
- collector: rewrite trace indexing and search engine; use MapDB+RDS instead of SQL;
- lots of fixes;
- agent: online reconfiguration (via
zorka.reload[]
or built in MBean); - agent: jetty 6.x support script;
- collector: user database with access control to particular hosts for ordinary users;
- collector: faster method call tree;
- lots of small fixes as usual;
- agent: websphere support (HTTP, EJB3 tracing, PMI access, rudimentary PMI templates for zabbix);
- agent: MuleESB support (tracing flows, dispatchers,flow components, maintaining ZorkaStats, zabbix templates etc.);
- agent: LDAP monitoring (tracing LDAP searches, maintaining ZorkaStats);
- agent: improve HTTP tracing (headers, cookies, redirections);
- agent: revive and extend zabbix templates for JBoss, Tomcat etc.
- agent: improve ZICO performance with bulk ZICO transfers;
- agent: prioritized class/method matchers;
- agent:
zorka.require()
function to include scripts from other scripts; - agent: get rid of profiles, rework scripts to be included directly from
zorka.properties
; - agent: tracer tuning embedded directly in agent scripts (no need for manual tuning for every new application);
- agent: instrumentation engine statistics: time spent on matching, instrumentation etc. (available as ZorkaStats);
- agent: throughput monitoring implemented in ZorkaStats;
- collector: asynchronous DB writer for TRACES table to eliminate lags caused by MySQL hiccups;
- collector: admin and viewer roles for collector;
- collector: option to disable/enable collection from particular hosts available from UI;
- collector: case-insensitive search in trace detail panel (full-text only for now);
- lots of small fixes;
- agent: checksum calculating spy processors;
- agent: trace attribute propagation functions;
- collector: new query language for searching methods inside trace;
- collector: lots of UI fixes and polishes;
- collector: enhance self-monitoring (trace and monitor submission chain);
- rename zorka-central -> zico;
- match classes and methods by interface (with recursion);
- many improvements and fixes in zorka-central;
- unified scripts and for JDBC monitoring;
- zorka-central - (rudimentary) network trace collector;
- agent profiles - multiple script configuration in single directory;
- usual fixes;
- use fressian format for saving traces;
- congestion monitoring (via ZorkaStats);
- lots of fixes;
- better security with zorka.allow() function;
- load additional property files with zorka.loadCfg() function;
- programmatic tracer attribute setting with tracer.newAttr() function;
- lots ot fixes
- hiccup meter (based on Azul's hiccup metering utility);
- tracer support for WSO2;
- JBoss7 domain mode support (zorka home dir now can be passed as system property);
- microsecond and nanosecond resolution for MethodCallStats;
- proper query execution timeout handling in BSH agent;
- unify argument ordering of Spy;
- sample JDBC script for PostgreSQL (long queries, trace attrs, stats);
- refactor zorka-common+zorka-agent -> zorka-core+zorka-agent;
- bugfixes;
- support for JDK5;
- fixes;
- enhance trace viewer, get rid of unnecessary dependencies;
- new 'local max' attribute maintained by method call statistics;
- zorka diagnostics (with zabbix template) - mbean for monitoring agent health
- lots of fixes for viewer and agent itself;
- tracer enhancements and bugfixes;
- performance metrics collector that adds collected data to tracer files;
- new JMX query / object graph traversal DSL;
zabbix.discovery()
now uses JMX query DSL;- convenient API for accessing
zorka.properties
settings from BSH scripts;
- rudimentary method call tracer implemented;
- zorka-viewer: trace files viewer;
- refactor spy API to use string keys (instead of convoluted stage-slot convention);
- get rid od ON_COLLECT stage, use asynchronous queue collector;
- refactor logger to act as aggregator of (attachable) trappers, remove loggger <-> file trapper redundancies;
- lots of redundant code eliminated (eg. threading code in trappers, rank listers, agent integrations etc.)
- lots of cleanups, javadocs, bugfixes, simplify package structure and limit inter-package dependencies;
- performance optimization of ZorkaStatsCollector (and removal of JmxAttrCollector);
- rudimentary stress testing / microbenchmarking framework implemented;
- spy now supports OSGi-based frameworks (eg. WSO2 Carbon, see sample script on how to configure it);
- remove custom pool executors, use standard ThreadPoolExecutor instead;
- support for matching classes and methods by annotations;
- normalization of xQL queries (all major query languages);
- normalization of LDAP search queries;
- file trapper (logs events to files instead of syslog/zabbix/SNMP);
- composite processing chains and comparator filters;
- zorka API overhaul (yet more refactoring are on the way);
- syslog trapper support;
- snmp trapper support (traps and value get interface);
- zabbix trapper;
- config scripts and zabbix templates for JBoss 7;
- documentation: converted to
md
format; more interesting examples (eg. CAS auditing);
- documentation updates, cleanups and fixes (as usual);
- nagios NRPE protocol support;
- thread rank ported to new ranking framework;
- new - circular buffer aggregate;
- basic ranking framework (working with Zorka MethodCallStats);
- implement missing collectors of ZorkaSpy;
- implement missing processors in ZorkaSpy;
- support for IBM JDK and JRockit;
- documentation updates, cleanups and fixes;
- new ZorkaSpy instrumentation engine (incomplete, yet functional);
- get rid of lib/*.jar files, embed them into agent.jar;
- get rid of j2ee dependencies (use reflection instead);
- remove zorka5.sar module and jboss dependencies (use instrumentation instead);
- documentation updates, many little cleanups and fixes;
- initial release;
- zabbix integration;
- basic functions for accessing JMX data;
- rudimentary instrumentation engine (ZorkaSpy);