Skip to content

Latest commit

 

History

History
264 lines (205 loc) · 12.5 KB

CHANGELOG.asciidoc

File metadata and controls

264 lines (205 loc) · 12.5 KB
Note
Release notes are best read in our documentation at elastic.co

Unreleased

  • Add "recording" config option, to dynamically disable event recording {pull}737[(#737)]

Go Agent version 1.x

1.7.2 - 2020/03/19

  • Update cucumber/godog to 0.8.1 {pull}733[(#733)]

1.7.1 - 2020/03/05

  • Fix segfault on 32-bit architectures {pull}728[(#728)]

1.7.0 - 2020/01/10

  • Add span.context.destination.* {pull}664[(#664)]

  • transport: fix Content-Type for pprof data {pull}679[(#679)]

  • Add "tracestate" propagation {pull}690[(#690)]

  • Add support for API Key auth {pull}698[(#698)]

  • module/apmsql: report rows affected {pull}700[(#700)]

1.6.0 - 2019/11/17

  • module/apmhttp: add WithClientRequestName option {pull}609[(#609)]

  • module/apmhttp: add WithPanicPropagation function {pull}611[(#611)]

  • module/apmgoredis: add Client.RedisClient {pull}613[(#613)]

  • Introduce apm.TraceFormatter, for formatting trace IDs {pull}635[(#635)]

  • Report error cause(s), add support for errors.Unwrap {pull}638[(#638)]

  • Setting ELASTIC_APM_TRANSACTION_MAX_SPANS to 0 now disables all spans {pull}640[(#640)]

  • module/apmzerolog: add Writer.MinLevel {pull}641[(#641)]

  • Introduce SetLabel and deprecate SetTag {pull}642[(#642)]

  • Support central config for ELASTIC_APM_CAPTURE_BODY and ELASTIC_APM_TRANSACTION_MAX_SPANS {pull}648[(#648)]

  • module/apmgorm: sql.ErrNoRows is no longer reported as an error {pull}645[(#645)]

  • Server URL path is cleaned/canonicalizsed in order to avoid 301 redirects {pull}658[(#658)]

  • context.request.socket.remote_address now reports the peer address {pull}662[(#662)]

  • Experimental support for periodic CPU/heap profiling {pull}666[(#666)]

  • module/apmnegroni: introduce tracing Negroni middleware {pull}671[(#671)]

  • Unescape hyphens in k8s pod UIDs when the systemd cgroup driver is used {pull}672[(#672)]

  • Read and propagate the standard W3C "traceparent" header {pull}674[(#674)]

1.5.0 - 2019/07/31

  • Add Context.SetCustom {pull}581[(#581)]

  • Add support for extracting UUID-like container IDs {pull}577[(#577)]

  • Introduce transaction/span breakdown metrics {pull}564[(#564)]

  • Optimised HTTP request body capture {pull}592[(#592)]

  • Fixed transaction encoding to drop tags (and other context) for non-sampled transactions {pull}593[(#593)]

  • Introduce central config polling {pull}591[(#591)]

  • Fixed apmgrpc client interceptor, propagating trace context for non-sampled transactions {pull}602[(#602)]

1.4.0 - 2019/06/20

  • Update opentracing-go dependency to v1.1.0

  • Update HTTP routers to return "<METHOD> unknown route" if route cannot be matched {pull}486[(#486)]

  • module/apmchi: introduce instrumentation for go-chi/chi router {pull}495[(#495)]

  • module/apmgoredis: introduce instrumentation for the go-redis/redis client {pull}505[(#505)]

  • module/apmsql: exposed the QuerySignature function {pull}515[(#515)]

  • module/apmgopg: introduce instrumentation for the go-pg/pg ORM {pull}516[(#516)]

  • module/apmmongo: set minimum Go version to Go 1.10 {pull}522[(#522)]

  • internal/sqlscanner: bug fix for multi-byte rune handling {pull}535[(#535)]

  • module/apmgrpc: added WithServerRequestIgnorer server option {pull}531[(#531)]

  • Introduce ELASTIC_APM_GLOBAL_LABELS config {pull}539[(#539)]

  • module/apmgorm: register row_query callbacks {pull}532[(#532)]

  • Introduce ELASTIC_APM_STACK_TRACE_LIMIT config {pull}559[(#559)]

  • Include agent name/version and Go version in User-Agent {pull}560[(#560)]

  • Truncate error.culprit at 1024 chars {pull}561[(#561)]

1.3.0 - 2019/03/20

  • Rename "metricset.labels" to "metricset.tags" {pull}438[(#438)]

  • Introduce ELASTIC_APM_DISABLE_METRICS to disable metrics with matching names {pull}439[(#439)]

  • module/apmelasticsearch: introduce instrumentation for Elasticsearch clients {pull}445[(#445)]

  • module/apmmongo: introduce instrumentation for the MongoDB Go Driver {pull}452[(#452)]

  • Introduce ErrorDetailer interface {pull}453[(#453)]

  • module/apmhttp: add CloseIdleConnectons and CancelRequest to RoundTripper {pull}457[(#457)]

  • Allow specifying transaction (span) ID via TransactionOptions/SpanOptions {pull}463[(#463)]

  • module/apmzerolog: introduce zerolog log correlation and exception-tracking writer {pull}428[(#428)]

  • module/apmelasticsearch: capture body for \_msearch, template and rollup search {pull}470[(#470)]

  • Ended Transactions/Spans may now be used as parents {pull}478[(#478)]

  • Introduce apm.DetachedContext for async/fire-and-forget trace propagation {pull}481[(#481)]

  • module/apmechov4: add a copy of apmecho supporting echo/v4 {pull}477[(#477)]

1.2.0 - 2019/01/17

  • Add "transaction.sampled" to errors {pull}410[(#410)]

  • Enforce license header in source files with go-licenser {pull}411[(#411)]

  • module/apmot: ignore "follows-from" span references {pull}414[(#414)]

  • module/apmot: report error log records {pull}415[(#415)]

  • Introduce ELASTIC_APM_CAPTURE_HEADERS to control HTTP header capture {pull}418[(#418)]

  • module/apmzap: introduce zap log correlation and exception-tracking hook {pull}426[(#426)]

  • type Error implements error interface {pull}399[(#399)]

  • Add "transaction.type" to errors {pull}433[(#433)]

  • Added instrumentation-specific Go modules (i.e. one for each package under apm/module) {pull}405[(#405)]

1.1.3 - 2019/01/06

  • Remove the agent.* metrics {pull}407[(#407)]

  • Add support for new github.com/pkg/errors.Frame type {pull}409[(#409)]

1.1.2 - 2019/01/03

  • Fix data race between Tracer.Active and Tracer.loop {pull}406[(#406)]

1.1.1 - 2018/12/13

  • CPU% metrics are now correctly in the range [0,1]

1.1.0 - 2018/12/12

  • Stop pooling Transaction/Span/Error, introduce internal pooled objects {pull}319[(#319)]

  • Enable metrics collection with default interval of 30s {pull}322[(#322)]

  • ELASTIC_APM_SERVER_CERT enables server certificate pinning {pull}325[(#325)]

  • Add Docker container ID to metadata {pull}330[(#330)]

  • Added distributed trace context propagation to apmgrpc {pull}335[(#335)]

  • Introduce Span.Subtype, Span.Action {pull}332[(#332)]

  • apm.StartSpanOptions fixed to stop ignoring options {pull}326[(#326)]

  • Add Kubernetes pod info to metadata {pull}342[(#342)]

  • module/apmsql: don’t report driver.ErrBadConn, context.Canceled (#346, #348)

  • Added ErrorLogRecord.Error field, for associating an error value with a log record {pull}380[(#380)]

  • module/apmlogrus: introduce logrus exception-tracking hook, and log correlation {pull}381[(#381)]

  • module/apmbeego: introduce Beego instrumentation module {pull}386[(#386)]

  • module/apmhttp: report status code for client spans {pull}388[(#388)]

1.0.0 - 2018/11/14

  • Implement v2 intake protocol {pull}180[(#180)]

  • Unexport Transaction.Timestamp and Span.Timestamp {pull}207[(#207)]

  • Add jitter (+/-10%) to backoff on transport error {pull}212[(#212)]

  • Add support for span tags {pull}213[(#213)]

  • Require units for size configuration {pull}223[(#223)]

  • Require units for duration configuration {pull}211[(#211)]

  • Add support for multiple server URLs with failover {pull}233[(#233)]

  • Add support for mixing OpenTracing spans with native transactions/spans {pull}235[(#235)]

  • Drop SetHTTPResponseHeadersSent and SetHTTPResponseFinished methods from Context {pull}238[(#238)]

  • Stop setting custom context (gin.handler) in apmgin {pull}238[(#238)]

  • Set response context in errors reported by web modules {pull}238[(#238)]

  • module/apmredigo: introduce gomodule/redigo instrumentation {pull}248[(#248)]

  • Update Sampler interface to take TraceContext {pull}243[(#243)]

  • Truncate SQL statements to a maximum of 10000 chars, all other strings to 1024 (#244, #276)

  • Add leading slash to URLs in transaction/span context {pull}250[(#250)]

  • Add Transaction.Context method for setting framework {pull}252[(#252)]

  • Timestamps are now reported as usec since epoch, spans no longer use "start" offset {pull}257[(#257)]

  • ELASTIC_APM_SANITIZE_FIELD_NAMES and ELASTIC_APM_IGNORE_URLS now use wildcard matching {pull}260[(#260)]

  • Changed top-level package name to "apm", and canonical import path to "go.elastic.co/apm" {pull}202[(#202)]

  • module/apmrestful: introduce emicklei/go-restful instrumentation {pull}270[(#270)]

  • Fix panic handling in web instrumentations {pull}273[(#273)]

  • Migrate internal/fastjson to go.elastic.co/fastjson {pull}275[(#275)]

  • Report all HTTP request/response headers {pull}280[(#280)]

  • Drop Context.SetCustom {pull}284[(#284)]

  • Reuse memory for tags {pull}286[(#286)]

  • Return a more helpful error message when /intake/v2/events 404s, to detect old servers {pull}290[(#290)]

  • Implement test service for w3c/distributed-tracing test harness {pull}293[(#293)]

  • End HTTP client spans on response body closure {pull}289[(#289)]

  • module/apmgrpc requires Go 1.9+ {pull}300[(#300)]

  • Invalid tag key characters are replaced with underscores {pull}308[(#308)]

  • ELASTIC_APM_LOG_FILE and ELASTIC_APM_LOG_LEVEL introduced {pull}313[(#313)]

Go Agent version 0.x

0.5.2 - 2018/09/19

  • Fixed premature Span.End() in apmgorm callback, causing a data-race with captured errors {pull}229[(#229)]

0.5.1 - 2018/09/05

  • Fixed a bug causing error stacktraces and culprit to sometimes not be set {pull}204[(#204)]

0.5.0 - 2018/08/27

  • ELASTIC_APM_SERVER_URL now defaults to "http://localhost:8200" {pull}122[(#122)]

  • Transport.SetUserAgent method added, enabling the User-Agent to be set programatically {pull}124[(#124)]

  • Inlined functions are now properly reported in stacktraces {pull}127[(#127)]

  • Support for the experimental metrics API added {pull}94[(#94)]

  • module/apmsql: SQL is parsed to generate more useful span names {pull}129[(#129)]

  • Basic vgo module added {pull}136[(#136)]

  • module/apmhttprouter: added a wrapper type for httprouter.Router to simplify adding routes {pull}140[(#140)]

  • Add Transaction.Context methods for setting user IDs {pull}144[(#144)]

  • module/apmgocql: new instrumentation module, providing an observer for gocql {pull}148[(#148)]

  • Add ELASTIC_APM_SERVER_TIMEOUT config {pull}157[(#157)]

  • Add ELASTIC_APM_IGNORE_URLS config {pull}158[(#158)]

  • module/apmsql: fix a bug preventing errors from being captured {pull}160[(#160)]

  • Introduce Tracer.StartTransactionOptions, drop variadic args from Tracer.StartTransaction {pull}165[(#165)]

  • module/apmgorm: introduce GORM instrumentation module (#169, #170)

  • module/apmhttp: record outgoing request URLs in span context {pull}172[(#172)]

  • module/apmot: introduce OpenTracing implementation {pull}173[(#173)]

0.4.0 - 2018/06/17

First release of the Go agent for Elastic APM