All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- New integration protocol v4. It supports dimensional metric data format.
- New metric types:
count
,summary
,cumulative-count
andcumulative-rate
. - Package
http
can now create a client that validate certificates but also accepts invalid hostnames viaNewAcceptInvalidHostname
.
- Old metric types have been remapped:
PDELTA
andDELTA
tocumulative-count
.PRATE
tocumulative-rate
.ATTRIBUTE
has been removed. Now you can add generic metadata or tags to all metric types.
- Start using go modules.
- Go version requirement changed to 1.13.
- Improvement for jmx error handling.
- Fix issue on the global logger to log debug messages when verbose is enabled.
- Removed panic when calling
log.Fatal
- Prevent from trying to json marshall
inf
float values
- Allow events that contain attributes to be decorated by the entity customAttributes.
- JMX no-auth connection
- JMX constructor option to provice custom nrjmx tool executable
- JMX full connection URL
- JMX removed line length limitation
- JMX does not support concurrency
- JMX improved test readability, removed flaky test
- JMX removed std channels unrequired close calls
- JMX better empty line comparison
- JMX removed lock
- JMX removed stderr fd closed error
- JMX package: fixed
nrjmx
error handling - JMX package: fixed
nrjmx
warning handling - JMX package support for
nrjmx
stderr multi-line responses
- Support for event attributes. Supported since infra agent version 1.5.31.
- JMX support for custom URI paths (this enables support for integrations like ForgeRock OpenDJ)
- JMX JBoss remote support for Domain-mode as default and Standalone-mode optionally.
- Adds the positive only version of
RATE
andDELTA
, namedPRATE
andPDELTA
respectively.
- Different Identifier
attributes
fetch/create different entities.
integration.Entity
method fix.
- Standardise the attributes used to store the data sources: reporting-entity & reporting-endpoint under new attributes:
reportingEntityKey
,reportingEndpoint
. See doc.
- New JMX option for remote URL protocol connections.
- Changed JMX open method. New
jmx.OpenWithParameters
accepts optionals parameters like SSL, remote connections, etc. Old integrations using old methodsjmx.OpenWithSSL
andjmx.Open
should use this newjmx.OpenWithParameters
method instead.
- Protocol v3: See full documentation.
- SSL support for jmx package. Explained at https://github.com/newrelic/infra-integrations-sdk#jmx-support
- Added metadata optional decoration for entity metrics (
hostname
), check doc - Added
identifier attributes
for entity metadata.
- Replaces golint with gometalinter
- This release solves internal SDK dependency failures (targeting v2 via gopkg.in) as now master uses v3.
- Fixed minor lint issues
- Boolean support for Gauge metrics via
setMetric
- Adds
json.Unmarsall
support tometric.Set
- Getters (HasMetrics, HasEvents, HasInventory) to the
args
package to avoid callingAll() || Metrics
- Toolset documentation
- Tutorial using remote entities
- FAQ
- Maximum inventory key length validation
- Attributes required
- JMX concurrency support
- Rate & delta names collision on the Store
- Negative rate & delta values
- Prefix on the logger
- Improved documentation
- Arguments
All
attribute to dynamic methodAll()
- NewSet does not return error
- NewSet allows Attributes to uniquely identify metric sets
- Toolset documentation
- Tutorial using remote entities
- FAQ
- Maximum inventory key length validation
- Attributes required
- JMX concurrency support
- Rate & delta names collision on the Store
- Negative rate & delta values
- Prefix on the logger
- Improved documentation
- Arguments
All
attribute to dynamic methodAll()
- NewSet does not return error
- NewSet allows Attributes to uniquely identify metric sets
- Protocol v2 (remote entities) support
- Concurrency support
- Configurable
Logger
- Configurable output
Writer
- Configurable
Storer
- New packages
inventory
,event
with proper constructors - Integration parametrized creation via optional
Option
s
- Nil pointer when creating a Remote entity after creating a Local entity.
- Package
sdk
renamed tointegration
- Package
cache
renamed topersist
- Packages
metric
,inventory
,event
moved intodata
folder - Replace
github.com/sirupsen/logrus
with builtinlog
package - Update
Event
type - Update
Integration
type
- Protocol v1 support
- Global
log
andcache
instances
- Adding basic travis config file
- Logrus package name update (to lowercase) after update
- Allow executing JMX queries to a server without authentication required
- Breaking change: Update
jmx.Query
function adding timeout argument - Improve documentation
This is the same version as 0.4.1, we consider this package "stable" and we can release v1.0.0
- Use absolute path calling nrjmx binary
- Update tutorial with changes about metric names, event types and some other improvements
- Add a JSON type for Arguments
- Clear internal objects after in
integration.Publish()
method - Remove provider argument in
NewMetricSet
function
- Allow to set multiple values for the same key with
Inventory.SetItem()
function - Variadic arguments to log methods
- Increase buffer length for reading from JMX
- New license file
- New
SetItem
function for inventory - New
Inventory
struct type
- Rename
COUNTER
metric type toRATE
- Improve jmx package tests
- Rename
AddMetric
toSetMetric
- Improve the interoperability with
nrjmx
tool - Update some documentation strings
- Fix sampling cache path on windows
- Initial release