Note
|
Release notes are best read in our documentation at elastic.co |
-
Deprecate
http.request.socket.encrypted
and stop recording it inmodule/apmhttp
,module/apmgrpc
andmodule/apmfiber
. {pull}1129[#(1129)] -
Collect and send span destination service timing statistics about the dropped spans to the apm-server. {pull}1132[#(1132)]
-
Experimental support to compress short exit spans into a composite span. Disabled by default. {pull}1134[#(1134)]
-
Discard exit spans shorter or equal than
ELASTIC_APM_EXIT_SPAN_MIN_DURATION
. Defaults to1ms
. {pull}1138[#(1138)] -
module/apmprometheus: add support for mapping prometheus histograms. {pull}1145[#(1145)]
-
span: automatically infer
destination.service.resource
information when the span is an exit span and deprecatedestination.service.name
anddestination.service.type
{pull}1003[#(1003)] -
module/apmhttp: add apmhttp.WithClientSpanType ClientOption to set the span type of http client requests {pull}1106[#(1106)]
-
module/apmazure: introduce instrumentation module for Azure blob, queue, and file storage {pull}1109[#(1109)]
-
module/apmelasticsearch: propagete
Traceparent
andTracestate
headers to Elasticsearch {pull}1002[#(1002)] -
module/apmfiber: introduce instrumentation module for Fiber web framework {pull}999[#(999)]
-
module/apmawssdkgo: fix a bug where the module would panic when an unsupported service is used {pull}1006[#(1006)]
-
module/apmfasthttp: report the correct HTTP Status Code instead of always reporting
200
{pull}1104[#(1104)]
-
Fix concurrency bugs in breakdown metrics and module/apmhttp.WithClientTrace {pull}997[#(997)]
-
Prefer w3c traceparent header over legacy elastic-apm-traceparent {pull}963[#(963)]
-
Context.SetUsername now takes precedence over HTTP user info from Context.SetHTTPRequest {pull}973[#(973)]
-
module/apmhttp: fix a potential panic in WithClientTrace {pull}989[#(989)]
-
add support for go-restful v3 {pull}968[#(968)]
-
add fasthttp support {pull}957[#(957)]
-
module/apmgin: support multiple routes using the same handler {pull}983[#(983)]
-
add apm-server CA cert functionality {pull}982[#(982)]
-
module/apmgrpc: fix status code to outcome mapping {pull}902[#(902)]
-
module/apmawssdkgo: add support for instrumenting s3 RPC calls {pull}927[#(927)]
-
module/apmawssdkgo: add support for instrumenting dynamodb RPC calls {pull}928[#(928)]
-
SpanContext.SetDestinationService is a no-op if either Name or Resource is empty {pull}931[#(931)]
-
module/apmawssdkgo: add support for instrumenting sqs RPC calls {pull}933[#(933)]
-
module/apmawssdkgo: add support for instrumenting sns RPC calls {pull}938[#(938)]
-
Parse "//" comments in SQL/CQL {pull}937[#(937)]
-
Fix CaptureError to capture the request body when ELASTIC_APM_CAPTURE_BODY is enabled {pull}906[#(906)]
-
module/apmgrpc: record underlying HTTP/2 context {pull}904[#(904)]
-
module/apmot: handle http.host tag as url.Host {pull}954[#(954)]
-
apm: add add ParentID methods to Span and Transaction {pull}956[#(956)]
-
Make TRANSACTION_IGNORE_URLS dynamically configurable: {pull}872[#872]
-
module/apmsql: add tracingDriver.Unwrap method to get underlying driver {pull}#849[#(849)]
-
module/apmgopgv10: add support for github.com/go-pg/pg/v10 {pull}857[(#857)]
-
Enable central configuration of "sanitize_field_names" {pull}856[(#856)]
-
module/apmgrpc: set span destination context {pull}861[(#861)]
-
module/apmgoredisv8: introduce new package to support go-redis v8 {pull}780[#(780)]
-
module/apmhttp: introduce httptrace client option {pull}788[#(788)]
-
module/apmsql: add support for database/sql/driver.Validator {pull}791[#(791)]
-
Record sample rate on transactions and spans, propagate through
tracestate
{pull}804[#(804)] -
module/apmredigo: change redigo dependency to v1.8.2 {pull}807[#(807)]
-
Deprecate IGNORE_URLS, replace with TRANSACTION_IGNORE_URLS {pull}811[(#811)]
-
Tracer.Close now waits for the transport goroutine to end before returning {pull}816[#(816)]
-
Relax Kubernetes pod UID discovery rules {pull}819[#(819)]
-
Add transaction and span outcome {pull}820[#(820)]
-
Add cloud metadata, configurable with ELASTIC_APM_CLOUD_PROVIDER {pull}823[#(823)]
-
Round ELASTIC_APM_SAMPLING_RATE with 4 digits precision {pull}828[#(828)]
-
module/apmhttp: implement io.ReaderFrom in wrapped http.ResponseWriter {pull}830[#(830)]
-
Fixed Transaction.Discard so that it sets TransactionData to nil {pull}836[#(836)]
-
module/apmsql/pgxv4: add support for pgx driver {pull}831[#(831)]
-
module/apmgormv2: add support for gorm.io (GORM v2) {pull}825[#(825)]
-
Add "recording" config option, to dynamically disable event recording {pull}737[(#737)]
-
Enable central configuration of "stack_frames_min_duration" and "stack_trace_limit" {pull}742[(#742)]
-
Implement "CloseIdleConnections" on the Elasticsearch RoundTripper {pull}750[(#750)]
-
Fix apmot nil pointer dereference in Tracer.Inject {pull}763[(#763)]
-
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)]
-
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
andELASTIC_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)]
-
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)]
-
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)]
-
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)]
-
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)]
-
Remove the
agent.*
metrics {pull}407[(#407)] -
Add support for new github.com/pkg/errors.Frame type {pull}409[(#409)]
-
Fix data race between Tracer.Active and Tracer.loop {pull}406[(#406)]
-
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)]
-
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
andELASTIC_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
andELASTIC_APM_LOG_LEVEL
introduced {pull}313[(#313)]
-
Fixed premature Span.End() in apmgorm callback, causing a data-race with captured errors {pull}229[(#229)]
-
Fixed a bug causing error stacktraces and culprit to sometimes not be set {pull}204[(#204)]
-
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 fromTracer.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)]